我已经以编程方式(UITextField
)创建了myTextField : UITextField!
,因此我可以轻松控制其属性。
我希望能够将其文本设置为UIPicker的选定值(通过myPickerView: UIPickerView! = UIPickerView()
以编程方式创建),但每当我在myTextField.text = pickerData[row]
内尝试didSelectRow
时,该应用程序崩溃说nil在打开一个Optional时发现了。
我正在使用行为正常的myTextField.inputView = myPickerView
,我可以成功地从选择器视图中打印出选定的行。只有在我尝试设置崩溃的文本时才会这样。
当我在故事板上设置一个按钮作为IBOutlet它可以正常工作,但我想避免使用故事板。有没有办法解决?或者是否可以通过编程方式设置故事板按钮的样式?
更新:我已将标记设置为myTextField
并使用选择器myTextField.text
协议下的标记设置didSelect
,但这感觉很迂回和黑客
答案 0 :(得分:0)
您的文字区域为零。您需要在使用pickerView之前初始化textField。最好的方法是
myTextField = UITextField()
myTextField.inputView = myPickerView
这样,只有当你触摸textField时才会出现pickerView。如果您希望默认打开它,请使用
myTextField.becomeFirstResponder()
答案 1 :(得分:-1)
我认为您在设置文本之前没有初始化文本字段。