如何找出键盘在iOS中第一次打开的时间?我只想知道单击一个单元格(包含UITextField)并打开键盘的时间。之后,我使用包含上一个和下一个按钮的工具栏浏览UITextFields。
使用以下代码,在导航到UITextFields时调用keyboardWillShow,即使键盘在第一次单击UITextField后似乎仍保持打开状态。这个方法对我的目的没有帮助。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];
- (void)keyboardWillShow:(NSNotification *)notification {
}
答案 0 :(得分:1)
使用此通知..它可以帮助您
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow)
name:UIKeyboardWillHideNotification
object:nil];
在那个keyboardWillShow方法中删除这样的观察者。
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
答案 1 :(得分: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
}
}