1

如何找出键盘在 iOS 中第一次打开的时间?我只想知道您单击单元格(包含 UITextField)并打开键盘的时间。之后,我使用包含上一个和下一个按钮的工具栏浏览 UITextFields。

使用以下代码,在浏览 UITextField 时调用 keyboardWillShow,即使在第一次单击 UITextField 后键盘似乎仍保持打开状态。这种方法对我的目的没有帮助。

  [[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 回答