objective-c - 在虚拟键盘中单击“下一步”按钮期间从一个文本字段移动到另一个文本字段

标签 objective-c ios xcode

所以我有两个文本框,比方说,TextBox1 和 TwoBox2。 在 Viewdidload TextBox1 上,我正在使用

 [self.TextBox1 becomeFirstResponder];

现在如何在虚拟键盘中按下下一步按钮时将光标移动到 TextBox2

最佳答案

在 Mac OS X 的 Cocoa 中,您有下一个响应链,您可以在其中询问文本字段接下来应该关注哪个控件。这就是使文本字段之间的制表符起作用的原因。但由于 iPhone 没有键盘,只有触摸,这个概念在过渡到 Cocoa Touch 后就没有幸存下来。

这无论如何都可以很容易地完成,有两个假设:

所有“可制表”的 UITextField 都在同一个父 View 上。 它们的“tab-order”由标签属性定义。 假设你可以像这样覆盖 textFieldShouldReturn:

-(BOOL)textFieldShouldReturn:(UITextField*)textField;
{
 NSInteger nextTag = textField.tag + 1;
  // Try to find next responder
 UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
 if (nextResponder) {
  // Found next responder, so set it.
  [nextResponder becomeFirstResponder];
 } else {
 // Not found, so remove keyboard.
  [textField resignFirstResponder];
 }
 return NO; // We do not want UITextField to insert line-breaks.
 }

再添加一些代码,假设也可以忽略。

关于objective-c - 在虚拟键盘中单击“下一步”按钮期间从一个文本字段移动到另一个文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13234827/

相关文章:

objective-c - Iphone有内置哔哔声效果吗

ios - 将 plist 加载到我的 TableView 中后,如何将信息传递给第二个 View Controller ? (NS词典)

ios - 点击 UITextField 后跟 UIDatePicker 时,UITableView 向上滚动两次

ios - 没有一个应用程序委托(delegate)(didEnterBackground 或 willResignActive)在截图时被调用

ios - 使用 xcode 将 IOS 静态库架构设置为 "arm64"

swift - NavigationController 嵌套在 TabController 动画错误中

iphone - UITableView 单元格之间的空间

ios - UILabel边框颜色与百分比

iOS 在后台线程上访问 UIScreen

ios - Xcode 的界面生成器中是否有针对较小 iPhone 的尺寸变体?