我正在尝试让我的第一响应者在 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/