Swift:当键盘出现时如何让视图控制器滚动到文本字段

Posted

技术标签:

【中文标题】Swift:当键盘出现时如何让视图控制器滚动到文本字段【英文标题】:Swift: How to make view controller scroll to text field when keyboard appears 【发布时间】:2015-01-09 22:20:38 【问题描述】:

我有一个视图控制器,在视图中垂直放置了 8 个文本字段。问题是键盘挡住了一些文本字段,因此用户无法输入任何数据。所以,基本上我需要一种滚动视图的方法。

我确实尝试按照这个 *** 问题中列出的方法,但在将一些 Objective-c 转换为 Swift 时遇到了麻烦。

How to make the view controller scroll to text field when keyboard appears

我想知道是否有人在 Swift 中解决了这个问题,如果可以,可以发布一个示例吗?

提前致谢!

【问题讨论】:

【参考方案1】:

您好,我已经通过子类化 UIScrollView 解决了这个问题。这是 scrollView 的 swift 版本,它适用于自动布局。

您可以在这里结帐https://github.com/honghaoz/AutoKeyboardScrollView

基本上,这个想法是注册键盘通知(例如UIKeyboardWillChangeFrameNotification),并在显示键盘时滚动以显示活动的文本字段。

【讨论】:

以上是关于Swift:当键盘出现时如何让视图控制器滚动到文本字段的主要内容,如果未能解决你的问题,请参考以下文章

滚动到滚动视图/滚动视图中的特定文本字段 当键盘在屏幕上时停止滚动

仅当键盘快速出现时如何使scrollView滚动

Swift:仅当键盘隐藏 TextField 或 Button 时滚动视图

当键盘出现滚动视图时文本字段消失

当键盘出现时视图仅大于屏幕时,如何在 iOS 中滚动?

当键盘出现Swift时,使用文本字段和按钮向上移动视图