我正在尝试让我的第一响应者在tableview单元格中使用标签。我将_txtFieldActive设置为拾取活动的UITextFields标签。当我通过NSLog按下键盘上的下一个按钮时,可以看到此信息。但是现在我似乎无法弄清楚如何在该标签上重新签名firstresponder,然后将我的第一个响应者移动到标签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;

}


非常感谢大家对任何指针的帮助。

乔恩

最佳答案

要使用给定标签获取当前视图层次结构中视图的引用,我们需要调用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成为FirstResponder,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23001106/

10-13 03:49