iOS:在文本字段之间切换的自动方式

标签 ios keyboard uitextfield

我有一个相对较大的 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/

相关文章:

iphone - iOS -- 转换PDF导致颜色饱和

ios - 允许导航并不优先于 iOS 上的允许意图

c# - 在 XNA 中进行文本输入(用于输入姓名、聊天)

ios - 编辑时调整 UITextField 的大小

ios - 我应该在 iPhone/iPad 类中使用 NSNumber 还是 int?

iphone - Three20 构建错误

android - 什么都不调整时如何获得键盘高度?

iphone - 键盘隐藏之前的通知?

iphone - 如何移动 UITextField 中的清除按钮?

ios - Swift 计算 UITextFields 的值并返回值