iOS:如何使用 IQKeyboardManager 更改要聚焦的 UITextField 的顺序

Posted

技术标签:

【中文标题】iOS:如何使用 IQKeyboardManager 更改要聚焦的 UITextField 的顺序【英文标题】:iOS: how to change the order of UITextField to be focused using IQKeyboardManager 【发布时间】:2017-02-24 16:41:49 【问题描述】:

我已将多个UITextFields 放入情节提要中的UIViewController。 当UITextFields 聚焦时,我使用IQKeyboardManager 在键盘上滚动。

当我单击键盘工具栏中的下一步按钮 时,另一个UITextField 获得焦点,而当前一个失去焦点。

如何通过键盘工具栏按钮控制UITextFields 的焦点顺序

【问题讨论】:

【参考方案1】:

设置IQAutoToolbarManageBehaviour

你的情况可能是

IQKeyboardManager.sharedManager().toolbarManageBehaviour = .byTag

然后将标签添加到您的TextFields

textField1.tag = 1
textField2.tag = 2
textField3.tag = 3

【讨论】:

最新版本:IQKeyboardManager.shared.toolbarManageBehaviour = .byTag【参考方案2】:

经过几个小时的研究,我发现UITextFields 的聚焦顺序取决于故事板文件中 XML 节点的顺序。

结果我改变了这个顺序,一切都按照我的意愿正常工作。

【讨论】:

对于那些不想编辑原始xml的人,在storyboard或xib中设置顺序也可以

以上是关于iOS:如何使用 IQKeyboardManager 更改要聚焦的 UITextField 的顺序的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 iOS 14+ 的 ScrollViewReader 和 iOS 13 的部署目标

iOS - 如何使用 branch.io 在 Appstore 中测试深度链接

如何使用 socket.io 触发消息?

iOS指导用户如何使用的功能 ios引导页

如何在 iOS 10 上使用 Facebook iOS SDK

如何使用 AutoLayout (iOS/Xamarin.iOS) 使 ScrollView 适合其内容?