限制附件键盘上的TAB键

时间:2013-10-09 06:41:34

标签: iphone ios

我有UIScrollView并排2 view个,每个都覆盖整个屏幕。 它们被移动到用户动作的可见边界,一次只有一个覆盖屏幕。这两个视图都有多个UITextFields。使用模拟器,我在第一个视图中填写textField,当我按Tab键时,firstResponder被分配到另一个视图中的textField。我知道在使用设备时,用户将无法做到这一点。但是如果用户使用蓝牙键盘或类似配件怎么办?我不想要一个当前不可见的textField成为firstResponder。可以这样做吗?

编辑:我刚才记得canBecomeFirstResponder方法。但是,如何确定哪个textField即将becomeFirstResponder

1 个答案:

答案 0 :(得分:1)

听起来问题不在于它们不能在两个文本字段之间进行制表,而是它们不能编辑不可见的文本字段,它们应该是如果它们同时可见,则能够在它们之间进行选项卡。

我将实现UITextField委托方法-textFieldShouldBeginEditing:而不是限制制表符,它允许您返回一个布尔值,无论该文本字段是否应该成为第一个响应者。

如:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    //  Only edit if the text field is visible
    return !textField.isHidden;
}

您可能需要调整此代码以适合文本字段的“可见”状态。