본문 바로가기
🍎 iOS

Picker View

by hyebin (Helia) 2022. 12. 8.

피커 뷰 (Picker View)

  • 아이폰에서 원하는 항목을 선택할 수 있게 해주는 객체
  • 데이트 피커- 날짜와 시간, 피커 뷰 - 문자열 선택

1. Picker View 객체 추가

Library에서 Picker View를 찾아  스토리 보드에 추가

 

2. 아웃렛 변수 추가

PickerView에 대한 기능을 구현하기 위해 아웃렛 변수 추가

 

3. 델리게이트 설정

PickerView 상호작용을 위해 델리게이트 설정

PickerView를 오른쪽 마우스로 선택한 후 상단에 있는 "ViewController" 아이콘 위로 끌어다 놓으면 delegte 선택 가능

  • delegate: 다른 누군가 해야 하는 일을 대신해주는 대리자 역할
  • 특정 객체와 상호작용할 때 메시지를 넘기면 그 메시지에 대한 책임은 delegate로 위임
  • delegate 메서드는 해당 역할을 수행하며 처리 결과나 메시지 등을 받음

 

4. 클래스 상속

PickerView의 delegate 메서드를 사용하기 위해 "UIPickerViewDelegate"와 "UIPickerViewDataSource" 클래스를 상속 받음

필수로 선언되어야 하는 메서드 선언

 

5. delegate 메서드, 변수 선언

PickerView의 목록을 나타내기 위한 color 배열 생성

PickerView의 선택을 나타내기 위해 resultLable 생성

  • numberOfRowsInComponent: PickerView의 목록의 개수
  • numberOfComponents: PickerView의 열의 개수
  • titleForRow: PickerView 목록의 titile
  • didSelectRow: PickerView에서 선택되었을 때 동작할 구문 작성

6. 시뮬레이터 확인

 

 

+ PickerView 목록에 이미지 출력하기

func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
    //목록에 표시할 이미지 추가
    let image = UIImageView(image: UIImage()) 
    
    //imageView frame 크기 설정
    image.frame = CGRect(x: 0, y: 0, width: 200, height: 200)
	
    return image
}

 

+ PickerView 높이 변경하기

func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
    //높이를 정수 값으로 설정
    return 10
}
반응형

'🍎 iOS' 카테고리의 다른 글

WebView  (0) 2022.12.08
Alert  (0) 2022.12.08
Date Picker  (1) 2022.10.05
UIImageView  (0) 2022.09.28
Outlet 변수와 Action 함수  (0) 2022.09.27

댓글