我正在尝试以编程方式创建 UIPickerView 并将其显示为文本字段的 firstResponder,但是,选择器 View 未显示。 textField 连接到界面构建器中的对象,但 pickerView 是以编程方式创建的。
class View: UIViewController {
@IBOutlet var picker : UIPickerView = UIPickerView.alloc()
@IBOutlet var textField : UITextField = nil
override func viewDidLoad() {
super.viewDidLoad()
picker = UIPickerView()
picker.delegate = self
picker.dataSource = self
picker.backgroundColor = UIColor.blackColor()
textField.inputView = picker
}
}
extension View: UIPickerViewDataSource {
func numberOfComponentsInPickerView(colorPicker: UIPickerView!) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int {
return 5
}
}
extension View: UIPickerViewDelegate {
func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String!
{
return "Text"
}
}
为什么我在运行应用时看不到这个 pickerView?
编辑:在扩展中添加断点不会停止程序,它们不会被调用。
最佳答案
我发现了问题——分配输入 View 的代码不包括self。应该是
self.textField.inputView = picker
关于ios - 以编程方式创建和显示 UIPickerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24836369/