1

iOSでキーボードが初めて開いたときを確認する方法は? セル(UITextFieldを含む)をクリックしてキーボードが開く時間だけを知りたいです。その後、[前へ] ボタンと [次へ] ボタンを含むツールバーを使用して UITextFields をナビゲートします。

次のコードを使用すると、UITextField を最初にクリックした後、キーボードが開いたままになっているように見えても、UITextField をナビゲートするときに keyboardWillShow が呼び出されます。この方法は、私の目的には役立ちません。

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];

 - (void)keyboardWillShow:(NSNotification *)notification {

  }
4

2 に答える 2

1

この通知を使用してください..それはあなたを助けるかもしれません

    [[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(keyboardWillShow) 
                                                 name:UIKeyboardWillHideNotification 
                                               object:nil];

そして、そのkeyboardWillShowメソッドでは、このようなオブザーバーを削除します。

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
于 2013-01-24T10:15:02.687 に答える
1

これをあなたに追加してください-viewDidLoad

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];

次に、メソッドkeyboardWillShow:は次のようになります。

- (void)keyboardWillShow:(NSNotification *)notification {
  if (firstOpen) {
    //do your stuff
    firstOpen = NO;
  } else {
    //do smth else
  }
}
于 2013-01-24T10:17:11.480 に答える