UIPickerViewをviewDidLoadのUITextFieldに入力ビューとして追加することができましたが、別のテキストフィールド(タグ= 4の場合) )編集を終了します。これは、私が使用しているコードです:最後の編集方法をしたUITextFieldが編集を開始したとき、UIPickerViewがinputviewとして表示されない
UIPickerView *myPickerView = [[UIPickerView alloc] init];
myPickerView.showsSelectionIndicator = YES;
myPickerView.delegate = self;
myPickerView.dataSource = self;
myPickerView.backgroundColor = [UIColor colorWithRed:76/255.0 green:76/255.0 blue:76/255.0 alpha:1];
textfieldInput.inputView = myPickerView;
これは私のテキストフィールドにある:
これは、のviewDidLoadであり、そしてピッカービューを初期化するために必要な他のすべてのコードがあります:
-(void)textFieldDidEndEditing:(UITextField *)textField{
if(textField.tag == 4){
[textfieldInput becomeFirstResponder];
}
問題はtextfieldInputがファーストレスポンダになると、ピッカービューではなく、キーボードが提示され、図示していないことです。 また、最初の応答者になって非表示になった場合には、辞任する別のテキストフィールドがあります。このテキストフィールドは、タグが4のテキストフィールドです(このテキストフィールドは設計上の理由から追加されています)。
あなたは 'textField'同じ' textField'だけの編集を終了した唯一のファーストレスポンダ作るしようとしています。それは意味をなさない。 – rmaddy
いいえ、タグ4のテキストフィールドは、編集を終了したばかりのテキストフィールドです。最初の応答者になるテキストフィールドは新しいテキストフィールドです。 –
ああ。私は変数名 'textField'と' textfield'のわずかな違いは見ませんでした。気にしないで。それはいくつかの貧弱な命名スタイルです。誤読やミスタイプが起こり易い。 – rmaddy