textView resignFirstResponder没有触发UIKeyboardWillHideNotification

时间:2014-03-25 09:12:02

标签: ios objective-c uitextview uitextviewdelegate

我有一个包含UITexView和Button的UIView。 我有一位代表UITextViewDelegate

当我第一次将光标放在UITextView上时,会调用委托函数"textViewShouldEndEditing",此函数会触发UIKeyboardWillShowNotification通知。到目前为止一切都很好。

当我点击按钮时,我调用函数[self.textView resignFirstResponder];,然后此函数调用委托"textViewShouldEndEditing",但通知UIKeyboardWillHideNotification永远不会被调用。

我有一个听众通知

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

有什么遗漏???

3 个答案:

答案 0 :(得分:2)

[self.view endEditing:YES];是诀窍,谢谢大家的帮助

答案 1 :(得分:0)

您应该通过以下方式向通知中心发布通知

[[NSNotificationCenter defaultCenter]         postNotificationName:@ “TestNotification”         对象:自];

您可以通过以下方式检查通知是否已收到

if([[notification name] isEqualToString:@“TestNotification”])         NSLog(@“已成功收到测试通知!”);

答案 2 :(得分:0)

您的代码是这样的,请检查并告诉我

-(void)viewDidAppear:(BOOL)animated{
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(keyboardWillHide:)
                                                     name:UIKeyboardWillHideNotification
                                                   object:nil];

}

-(void) keyboardWillHide:(NSNotification *)note{
        NSLog(@"test");

}