我是 iOS 开发的新手。我想在 UITextView 之外点击时隐藏键盘。
我的 TextView 位于 UITableView 的单元格中。问题是我在顶部有一个工具栏,我的按钮不再 react 了。我实现了“shouldReceiveTouch”方法,但我认为我的测试不正确。有任何想法吗?谢谢你,对不起我的英语不好..
在我的 ViewDidLoad 中:
tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
actionselector(dismissKeyboard)];
tap.delegate = self;
[self.view addGestureRecognizer:tap];
注意:点击是一个 UITapGestureRecognizer 属性。
实现的方法:
- (BOOL)gestureRecognizerUIGestureRecognizer *)gestureRecognizer
shouldReceiveTouchUITouch *)touch {
if ([touch.view isKindOfClass:[UIBarButtonItem class]]) {
return NO;
}
return YES;
}
-(void)dismissKeyboard {
[tview resignFirstResponder];
}
Best Answer-推荐答案 strong>
UIBarButtonItem 不是 UIView 的子类,因此 shouldReceiveTouch 仍然返回 YES。
在 cellForRowAtIndexPath 中初始化单元格时,尝试排除整个 UIToolbar 或仅在 UITableViewCell 中添加点击手势识别器。
- (BOOL)gestureRecognizerUIGestureRecognizer *)gestureRecognizer
shouldReceiveTouchUITouch *)touch {
if ([touch.view isKindOfClass:[UIToolbar class]]) {
return NO;
}
return YES;
}
关于IOS:在触摸 UITableView 时隐藏键盘,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16963620/
|