Я пытаюсь создать подкласс UIPickerView
, чтобы использовать средство выбора в нескольких представлениях. Я пытаюсь программно вызвать свой сборщик как inputView
из UITextField
, но не могу понять, как правильно его инициализировать. Я сомневаюсь, что это правильный подход и как я могу заставить его работать. Я надеюсь, что любой из вас может мне помочь.
UIPickerView
подкласс:
import UIKit
class GroupPicker : UIPickerView, UIPickerViewDelegate, UIPickerViewDataSource{
var cdm = CoreDataManager()
var groupObjList : [Group]!
init() {
groupObjList = cdm.groupList()
}
//MARK: - Delegates and data sources
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return groupObjList.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return groupObjList[row].title
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
println("picked \(groupObjList[row].title)")
}
}
Как я пытаюсь вызвать его в контроллере представления:
override func viewDidLoad() {
super.viewDidLoad()
groupPicker = GroupViewPicker() //instead of UIPickerView()
groupField.inputView = groupPicker
}