UIScrollViewKeyboardDismissModeOnDrag 当没有滚动不起作用时
UIScrollViewKeyboardDismissModeOnDrag when nothing to scroll doesn't work
我试图用滑动手势隐藏键盘,在 iOS 7 我知道有 UIScrollViewKeyboardDismissModeOnDrag
但这似乎只有在有东西要滚动时才有效,而不是当行搜索结果在 UIKeyboard 下,但没有足够的行来滚动视图此 UIScrollViewKeyboardDismissModeOnDrag
不起作用,因为没有可滚动的内容,我如何在没有任何内容时也可以通过滑动手势关闭键盘滚动?
希望能有所帮助(至少对我有用)。
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
[myTextField resignFirstResponder];
}
这对我有用:
UISwipeGestureRecognizer * tapGesture = [[UISwipeGestureRecognizer alloc]
initWithTarget:self
action:@selector(hideKeyBoard)];
[self.view addGestureRecognizer:tapGesture];
以及方法:
-(void)hideKeyBoard {
[textViewOrTextField resignFirstResponder];
}
最简单、最优雅的代码,也是最好的使用感觉,就是始终设置
self.tableView.alwaysBounceVertical = YES;
使用 UIScrollViewKeyboardDismissModeOnDrag 时。
这样你就可以随时垂直拖动弹跳,所以这个问题就不存在了。
我试图用滑动手势隐藏键盘,在 iOS 7 我知道有 UIScrollViewKeyboardDismissModeOnDrag
但这似乎只有在有东西要滚动时才有效,而不是当行搜索结果在 UIKeyboard 下,但没有足够的行来滚动视图此 UIScrollViewKeyboardDismissModeOnDrag
不起作用,因为没有可滚动的内容,我如何在没有任何内容时也可以通过滑动手势关闭键盘滚动?
希望能有所帮助(至少对我有用)。
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
[myTextField resignFirstResponder];
}
这对我有用:
UISwipeGestureRecognizer * tapGesture = [[UISwipeGestureRecognizer alloc]
initWithTarget:self
action:@selector(hideKeyBoard)];
[self.view addGestureRecognizer:tapGesture];
以及方法:
-(void)hideKeyBoard {
[textViewOrTextField resignFirstResponder];
}
最简单、最优雅的代码,也是最好的使用感觉,就是始终设置
self.tableView.alwaysBounceVertical = YES;
使用 UIScrollViewKeyboardDismissModeOnDrag 时。
这样你就可以随时垂直拖动弹跳,所以这个问题就不存在了。