objective-c - 浏览文本字段

标签 objective-c ios cocoa-touch

我正在尝试使用我在此处找到的@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/

相关文章:

ios - Swift 中的变量无法转换为 CGContext

ios - DidDisappear 从另一个线程调用并有延迟

ios - 具有泛型类型和 UITableview 的 Swift 3 ViewController

ios - 动画 CALayer 边框 alpha

ios - 如何从 TableView 推送到 TableView

objective-c - 如何使用 objective c 在 osx 中收集系统信息

ios - 自定义 UICollectionViewLayout 为不存在的索引路径传递布局属性

ios - 隐藏 iOS 键盘,但允许用户移动光标

objective-c - 使用 Scripting Bridge 将电影添加到 iTunes

ios - KVO addObserver 到CoreData对象的一对多关系