2016-03-18 43 views
0

我已经以编程方式创建了UITextField(因此我可以轻松控制其属性。无法以编程方式将已创建的UITextField文本设置为UIPickerView值

我希望能够将其文本设置为UIPicker的选择值(通过myPickerView: UIPickerView! = UIPickerView()程序创建的),但在展开的可选每当我试图myTextField.text = pickerData[row]didSelectRow应用程序崩溃说无发现。

我使用的是myTextField.inputView = myPickerView,它的行为正确,我可以成功地从选取器视图中打印出选定的行。只有当我尝试设置它崩溃的文本时。

当我在故事板上设置一个按钮作为IBOutlet时,它工作正常,但我想避免使用故事板。有没有办法解决?或者是否可以通过编程设计故事板按钮?

更新:我已经设置了标记myTextField和使用标签拣货员下didSelect协议设置myTextField.text,但那种感觉迂回和哈克

回答

0

您的文本框为零。在使用pickerView之前,你需要初始化textField。最好的方法是

myTextField = UITextField() 
myTextField.inputView = myPickerView 

因此,pickerView仅在您触摸textField时才会出现。如果你希望它是默认打开的,使用

myTextField.becomeFirstResponder() 
+0

我已经设置了代码,其中'myTextField将:'的UITextField之前'myTextField.inputView = myPickerView'。这一直在为我工作。问题不在于选择器没有出现,而是在滚动选择器并尝试设置“myTextField.text”时应用程序崩溃。我已经为文本字段设置了一个标签,并使用标签设置了'myTextField.text',但是这感觉迂回,并且很有效果。 – Rooncicle

+0

是一个工作吗? – shinoys222

+0

我为其设置了标签?是的 – Rooncicle

-1

我想你没有设置文本之前初始化文本框。

相关问题