我试图让我的第一个响应者在tableview单元格中使用标签。我已经设置_txtFieldActive来获取活动的UITextFields标记。当我通过NSLog按下键盘上的下一个按钮时,我可以看到这一点。然而,现在我似乎无法弄清楚如何在该标签上重新启动第一响应者,然后将我的第一个响应者移动到标签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;
}
非常感谢所有人提前为您提供帮助。
乔恩。
答案 0 :(得分:1)
要使用给定标记获取当前视图层次结构中视图的引用,我们需要调用viewWithTag:
。
if (_txtFieldActive.tag == 101) {
NSLog(@"Tag = 101");
UITextField *tmp = [self.view viewWithTag:102];
[tmp becomeFirstResponder];
}
尝试大小。
如果这是UITableViewController
子类而不是UIViewController
子类,则可能需要[self.tableView viewWithTag:102];
,但self.view
应该< / strong>在任何一种情况下工作。