在我的iphone应用程序中,我有6个textFields和一个tabBar(有3个按钮Next,Previous,Done)。
我需要做的就是当我点击下一个按钮时,焦点应该从第一个textField移动到下一个textField。
在下一步按钮的IBAction上,我编写以下代码:
if ([txt1 isFirstResponder]==YES) {
NSLog(@"TXT1");
[txt1 resignFirstResponder];
[txt2 becomeFirstResponder];
}
else if ([txt2 isFirstResponder]==YES) {
[txt2 resignFirstResponder];
[txt3 becomeFirstResponder];
}
else if ([txt3 isFirstResponder]==YES) {
[txt3 resignFirstResponder];
[txt4 becomeFirstResponder];
}
else if ([txt4 isFirstResponder]==YES) {
[txt4 resignFirstResponder];
[txt5 becomeFirstResponder];
}
else if ([txt5 isFirstResponder]==YES) {
[txt5 resignFirstResponder];
[txt6 becomeFirstResponder];
}
else if ([txt6 isFirstResponder]==YES) {
[txt6 resignFirstResponder];
}
当我使用此代码时,NSLog会无限次地打印。
可以做些什么?
答案 0 :(得分:1)
可能因为txt1 isFirstResponder
,你将txt2设置为firstResponder,然后检查txt2是否是第一响应者。您应该在每个break;
语句的末尾添加if
。
答案 1 :(得分:1)
答案 2 :(得分:0)
实际上,在每个if语句中,您不需要resignFirstResponder
,因为每次移动到另一个字段时都不想关闭键盘。
相反,请将resignFirstResponder
留在txt6