UITextField:textFieldShouldBeginEditingは発生しますが、キーボードは表示されません。

テストフィールドをタップすると次のメソッドが起動するが、キーボードは表示されないので、明らかに代理メソッドを呼び出すテキストフィールドがあります。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    NSLog(@"should begin editing");

    return YES;
}

理由は何ですか?

A couple of details: This text field happens to be in a view controller in a storyboard. The first time I segue to this view the text field works fine. The subsequent times I segue to this view it does not work. I imagine this is a big clue to why I am getting the described behavior, but I have not been able to figure it out yet.

2
nl ru de
もう一つの手掛かりは、テキストフィールド(textFieldShouldReturn:(UITextField *)textField)を返し、最初のレスポンダを辞めると、ビューを終了する前にすべてが期待通りに機能するということです。私はナビゲーションコントローラなしでセグを自分で設定していたので、何か重要なことを逃したかもしれません。
追加された 著者 Mrwolfy,

1 答え

prepareForSegue:メソッドに以下のコードを追加して問題を解決しました。仕事をしているようだ。

if (_textField.isFirstResponder) {
    [_textTextField resignFirstResponder];
}
1
追加された