好的,我在UITextFields中有几个UITextViewsUIScrollView,我想将键盘设置为在触摸或滚动scrollview时消失(当然,当您在文本字段/ View 内向下触摸时除外)。

我目前的尝试是用子类替换UIScrollView,并将其设置为在touchesBegan方法内调用removeKeyboard函数(在主 View Controller 内定义)。但是,这仅会为正常触摸而移除键盘,而不是仅在 View 滚动时移除。那么,移除UIScrollView内部键盘的最佳方法是什么?

在此先感谢您的帮助。

最佳答案

这是在iOS 7.0及更高版本中实现此目标的最干净的方法。

scrollView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;

要么
scrollView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;

在Swift中:
scrollView.keyboardDismissMode = .onDrag

要么
scrollView.keyboardDismissMode = .interactive

08-06 03:30