我正在尝试使用我在此处找到的@PeyloW 代码How to navigate through textfields (Next / Done Buttons)但是当我按下键盘上的 return 按钮时,什么也没有发生。我的标签没问题。
标题:
- (BOOL)textFieldShouldReturn:(UITextField*)textField;
实现:
- (BOOL)textFieldShouldReturn:(UITextField*)textField {
NSInteger nextTag = textField.tag + 1;
UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
if (nextResponder) {
[nextResponder becomeFirstResponder];
} else {
[textField resignFirstResponder];
}
return NO;
}
我错过了什么?我的键盘没有next done,只有return。请记住,我是 iOS 的新手。
编辑:
我尝试通过向代码添加断点来调试代码,但代码未被触发。
最佳答案
我不喜欢包含标签的解决方案。相反,我会将所有输入文件按所需顺序放入一个数组中,并在 -textFieldShouldReturn:
中使用给定的文本字段从数组中获取它的索引。然后我会在该索引处获取对象。
- (BOOL)textFieldShouldReturn:(UITextField*)textField {
NSUInteger nextIndex = [arrayWithResponders indexOfObject:textField]+1 % [arrayWithResponders count];
UIResponder* nextResponder = [arrayWithTextFields objectAtIndex: nextIndex];
if (nextResponder) {
[nextResponder becomeFirstResponder];
} else {
[textField resignFirstResponder];
}
return NO;
}
你刚刚补充说,断点没有被触发,所以很可能你没有设置委托(delegate)。
关于objective-c - 浏览文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823425/