ํผ์ปค ๋ทฐ (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 |