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