关闭 UIScrollView 中的键盘

Dismissing the keyboard in a UIScrollView(关闭 UIScrollView 中的键盘)
本文介绍了关闭 UIScrollView 中的键盘的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好的,我在 UIScrollView 中有几个 UITextFieldsUITextViews,我想将键盘设置为随时消失scrollview 被触摸或滚动(当然,当您在文本字段/视图内触摸时除外).

Alright, I have a couple of UITextFields and UITextViews inside a UIScrollView, and I'd like to set the keyboard to disappear whenever the scrollview is touched or scrolled (except when you touch down inside the text field/view, of course).

我目前的尝试是将 UIScrollView 替换为子类,并将其设置为在 touchesBegan 内调用 removeKeyboard 函数(在主视图控制器内定义)方法.但是,这只会在正常触摸时移除键盘,而不是在简单地滚动视图时.那么,在 UIScrollView 中移除键盘的最佳方法是什么?

My current attempt at doing this is replacing the UIScrollView with a subclass, and setting it to call a removeKeyboard function (defined inside the main view controller) inside the touchesBegan method. However, this only removes the keyboard for a normal touch, not when the view is simply scrolled. So, what's the best way to remove the keyboard inside a UIScrollView?

提前感谢您的帮助.

推荐答案

这是在 iOS 7.0 及更高版本中实现此目标的最简洁方法.

Here is the cleanest way to achieve this in iOS 7.0 and above.

scrollView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;

或者

scrollView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;

在斯威夫特中:

scrollView.keyboardDismissMode = .onDrag

或者

scrollView.keyboardDismissMode = .interactive

这篇关于关闭 UIScrollView 中的键盘的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
tabbar middle tab out of tabbar corner(选项卡栏中间的选项卡角外)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
Dropbox Files.download does not start when number of files in folder is gt; 1000(当文件夹中的文件数为1000时,Dropbox Files.Download不会启动)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)