ios - UITextField 成为第一响应者

标签 ios objective-c uitableview

我正在尝试让我的第一响应者在 tableview 单元格中使用标签。我已将 _txtFieldActive 设置为获取事件的 UITextFields 标记。当我通过 NSLog 按下键盘上的下一步按钮时,我可以看到这一点。但是现在我似乎无法弄清楚如何在该标签上 resignifirstresponder,然后将我的第一响应者移到标签 102 上?我在尝试将标记 102 分配给 *tmp 的代码行中遇到错误。

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
  switch (textField.tag)
  {
    case 101:
      //Do Nothing do not want to close keyboard but move on to next UITextField

      if (_txtFieldActive.tag == 101)
      {NSLog(@"Tag = 101");
      UITextField *tmp = [textField.tag == 102];
      [tmp becomeFirstResponder];
  }
break;

case 102:
  [textField resignFirstResponder];
}

return YES;

}

非常感谢大家提前提供任何指点。

乔恩。

最佳答案

要获取对当前 View 层次结构中具有给定标签的 View 的引用,我们需要调用viewWithTag:

if (_txtFieldActive.tag == 101) {
    NSLog(@"Tag = 101");
    UITextField *tmp = [self.view viewWithTag:102];
    [tmp becomeFirstResponder];
}

试穿一下尺寸。

如果这是 UITableViewController 子类而不是 UIViewController 子类,则您可能需要[self.tableView viewWithTag:102] ;,但是 self.view 应该在任何一种情况下都可以工作。

关于ios - UITextField 成为第一响应者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23001106/

相关文章:

Xcode 4.5 损坏 XIB?

ios - UISearchController 未按预期显示

objective-c - NSMutableArray 排序返回不正确的顺序

ios - 在后台收集加速度计数据

来自一台服务器的多个应用程序的 IOS 推送通知

iphone - 将记录加载到 TableView -(“更多”按钮)

iOS - 文件输入 - 变量类型转换问题

iOS - 删除 Recurring EKEvent,事件再次出现

ios - 有没有办法在代码中找到 "wait here..."- 就像一个空循环?

ios - 如何使用单独的 UITableViewDataSource 类管理#selector?