我有一个相对较大的 iPhone 应用程序,有很多 View 。 我想在我的键盘上实现下一个/上一个选项。 我已经设法在 UI 方面实现了它,我在网上看到了一些代码示例,但所有这些示例都假设我们需要向每个 View Controller 添加代码以实现文本字段之间的实际转换。
我的问题是:是否有一种通用的方法可以知道给定一些文本字段,按顺序排列的下一个字段是谁? (即不重构我的每个 View Controller )
我问这个问题是因为当我使用 iPhone 模拟器并按下计算机的 Tab 键时 - 字段之间会发生切换,所以我想知道是否有内置或通用的方式在 iOS 上实现它。
说明: 有没有一种方法可以在不为每种类型的 View Controller 添加特定代码的情况下做到这一点? (添加通用代码是可以接受的)
最佳答案
我想写下我是如何解决这个问题的,这里有很多很好的答案:)
首先,我无法创建完全通用的代码来创建选项卡,而不管它在哪个 View 中。 相反,我创建了这个东西,我认为这是 firstResponder 方法不起作用的最通用的解决方案:
- 我使用下一个/上一个/完成按钮和适当的操作委托(delegate)创建了自定义工具栏。
- 我通过添加类别“Tab”扩展了 UIViewController。此类别声明一个 fieldsArray 并实现委托(delegate)方法。
- 现在每个特定的 View Controller 需要做的(除了导入类别之外)是根据其属性提供此 fieldsArray 并调用将按钮工具栏添加到此字段的 init 方法
我希望你能从中受益,再次感谢所有好的答案
关于iOS:在文本字段之间切换的自动方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17390749/