2016-03-18 8 views
0

UITextFieldをプログラムで作成しました(myTextField : UITextField!)ので、その属性を簡単に制御できます。プログラムで作成したUITextFieldテキストをUIPickerView値に設定できません

は、私が(プログラム的myPickerView: UIPickerView! = UIPickerView()を介して作成)UIPickerの選択した値にそのテキストを設定することができるようにしたいが、オプションをアンラップしながら、nilを言って、私がしようとするたびにmyTextField.text = pickerData[row]didSelectRow内のアプリのクラッシュが見つかりました。

適切に動作するmyTextField.inputView = myPickerViewを使用しています。選択した行をピッカービューから正常に印刷できます。クラッシュするテキストを設定しようとするときだけです。

ストーリーボードのボタンをIBOutletとして設定すると正常に動作しますが、ストーリーボードは使用しないでください。とにかくこれの周りにはありますか?または、プログラムでストーリーボードボタンをスタイルすることは可能ですか?

UPDATE:私はmyTextFieldにタグを設定し、ピッカーdidSelectプロトコルの下のタグを使用してmyTextField.textを設定し、それは私はあなたがテキストを設定する前にテキストフィールドを初期化していなかったと思うラウンドアバウトとハック

答えて

0

あなたのテキストフィールドはnilです。 pickerViewを使用する前に、textFieldを初期化する必要があります。最良の方法は

myTextField = UITextField() 
myTextField.inputView = myPickerView 

です。したがって、pickerViewは、textFieldをタッチしたときにのみ表示されます。 !UITextFieldの `myTextField.inputView = myPickerView``の前にある:あなたはそれがデフォルトでオープンにしたい場合は、私はすでにコードを `がmyTextField設定

myTextField.becomeFirstResponder() 
+0

使用しています。それは私のために働いています。問題は、ピッカーが表示されないということではなく、ピッカーをスクロールして 'myTextField.text'を設定しようとしたときにアプリがクラッシュするということです。私は、テキストフィールドにタグを設定し、タグを使用して 'myTextField.text'を設定しましたが、それはラウンドアバウトとハッピーを感じる – Rooncicle

+0

は、 – shinoys222

+0

私がタグを設定したのは?はい – Rooncicle

-1

を感じてきました。

関連する問題