728x90
반응형
IOS에서 제공하는 PickerView 를 보편적으로 많이들 사용한다.
Picker View 사용
let picker = UIPickerView()
/* Category picker View 시작 */
func numberOfComponents(in pickerView: UIPickerView) -> Int {
//몇개씩 출력할 것인지
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return categoryList.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return categoryList[row]
}
// category select시 보여주기
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
sulCategory.text = categoryList[row]
sulIMG.image = UIImage(named: categoryList[row])
}
/* Category picker View 끝 */
pickerView function들은 tableView function들과 비슷하다.
총 개수와 select row를 반환하고, select시 실행해줄 코드를 넣는다.
나는 선택시 표기되는 text와 img를 세팅하도록 구현했다.
PickerView 초기값 설정
picker.selectRow(categoryList.firstIndex(of: sulCategory.text!)!, inComponent: 0, animated: true)
화면 로딩시 selectRow로 select해주면 초기값을 세팅할 수 있다.
+)
WEB이나 안드로이드에 익숙한 DropDown는 누군가 구현한 라이브러리를 쓰거나 기능을 직접 만들어야 한다.
DropDown 관련 라이브러리들
AssistoLab/DropDown
A Material Design drop down for iOS. Contribute to AssistoLab/DropDown development by creating an account on GitHub.
github.com
걔중 많이 쓰이는것 같은 라이브러리다..
jriosdev/iOSDropDown
Drop Down Menu for iOS With Search And Other Awesome Customisation - jriosdev/iOSDropDown
github.com
애니메이션이 이뻐서 보기 좋다. 내가 찾던 select box와 가장 유사... 한번뜯어보는것도 좋을듯~
728x90
반응형
댓글