我试图以编程方式创建 UIPickerView 并将其显示为文本字段的第一个响应者,但是,选择器视图没有显示。 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?
编辑:在扩展内添加断点不会停止程序,它们不会被调用。
我发现了问题——分配输入视图的代码不包含 self.它应该读
self.textField.inputView = picker
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)