3

我有一个 UIView,其中包含UITexView一个 Button。我有一个代表UITextViewDelegate

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

当我点击按钮时,我调用了 function [self.textView resignFirstResponder];,然后这个函数调用了 delegate "textViewShouldEndEditing",但是通知UIKeyboardWillHideNotification永远不会被调用。

我有一个通知监听器

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

有什么遗漏吗???

4

3 回答 3

2

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

于 2014-03-26T07:32:50.203 回答
0

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

[[NSNotificationCenter defaultCenter] postNotificationName:@"TestNotification" object:self];

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

if ([[通知名称] isEqualToString:@"TestNotification"]) NSLog(@"成功收到测试通知!");

于 2014-03-25T09:29:27.733 回答
0

你的代码是这样的吗,检查并告诉我

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

}

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

}
于 2014-03-25T09:43:53.587 回答