不调用 NSNotification keyBoardWillShow 和 keyboardWillHide
NSNotification keyBoardWillShow and keyboardWillHide are not called
我有一个带有自定义视图的 xib 文件,其中有许多文本字段子视图。我已经将每个文本字段的委托设置为文件所有者,并且能够成功地使用 texfield 委托方法。但不幸的是,键盘通知方法 keyboardWillShow: 和 keyboardWillHide: 根本没有被调用。
我在 textfieldShouldBeginEditing 添加了观察者并在 textFieldDidEndEditing 移除了观察者。
这是我的代码片段:
添加观察者
-(void) textFieldShouldBeginEditing : (UITextField *) textField{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
}
正在删除观察者
-(void) textFieldDidEndEditing : (UITextField *) textField{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
//通知方式
- (void)keyboardWillShow:(NSNotification *)notification
{
NSLog(@"Here");
}
- (void)keyboardWillHide:(NSNotification *)notification
{
NSLog(@"There");
}
//不调用任何 keyboardwillShow 和 keyboardWillHide。
如果有人能帮助我找出我的代码问题或我可能遗漏的任何底层问题,那就太好了。
当您通过编辑 textView 显示键盘时,您正在添加观察者。它不会调用,因为键盘已经显示。您应该在 viewWillAppear
上添加观察者并删除 viewWillDisappear
方法。
我有一个带有自定义视图的 xib 文件,其中有许多文本字段子视图。我已经将每个文本字段的委托设置为文件所有者,并且能够成功地使用 texfield 委托方法。但不幸的是,键盘通知方法 keyboardWillShow: 和 keyboardWillHide: 根本没有被调用。
我在 textfieldShouldBeginEditing 添加了观察者并在 textFieldDidEndEditing 移除了观察者。
这是我的代码片段:
添加观察者
-(void) textFieldShouldBeginEditing : (UITextField *) textField{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
}
正在删除观察者
-(void) textFieldDidEndEditing : (UITextField *) textField{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
//通知方式
- (void)keyboardWillShow:(NSNotification *)notification
{
NSLog(@"Here");
}
- (void)keyboardWillHide:(NSNotification *)notification
{
NSLog(@"There");
}
//不调用任何 keyboardwillShow 和 keyboardWillHide。
如果有人能帮助我找出我的代码问题或我可能遗漏的任何底层问题,那就太好了。
当您通过编辑 textView 显示键盘时,您正在添加观察者。它不会调用,因为键盘已经显示。您应该在 viewWillAppear
上添加观察者并删除 viewWillDisappear
方法。