无法使用UITextView resignFirstResponder

Cal*_*vin 4 iphone cocoa-touch objective-c uitextview

我有一个UITextView.我实现了一个navigationBar UIBarButtonItem来响应触摸并为我的第一个响应者辞职UITextView.

但是,当调用选择器方法时,键盘不会被解雇.我检查了UITextView的响应者状态,isFirstResponder然后返回YES.我也检查了它,canResignFirstResponder返回值为NO.

我必须在这里遗漏一些东西......为什么它会返回NO?

我得到了我可以canResignFirstResponder通过继承UITextView 来覆盖,但我想尽可能避免这种情况.

这是一段代码片段:

- (void) commentCancelButtonTouched:(id)sender
{
    NSLog(@"Cancel button touched");
    [self.navigationBar popNavigationItemAnimated: NO];

    if ([self.textInput.textView canResignFirstResponder] == NO) {
        NSLog(@"I don't want to resign!");
    }

    [self.textInput.textView resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

小智 5

万一有人想要在文本视图外面触摸时隐藏键盘,这很容易......

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesBegan:touches withEvent:event];

    [self.xFront resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)

xFront是我的出路UITextView.