Iphone 想从无线键盘检测ipad应用程序中按下的tab按钮吗

Iphone 想从无线键盘检测ipad应用程序中按下的tab按钮吗,iphone,objective-c,cocoa-touch,uitextfield,Iphone,Objective C,Cocoa Touch,Uitextfield,嗨,我想从无线键盘(外部键盘)检测iPad应用程序中按下的tab按钮,所以我让下一个textfield成为第一响应者。我正在执行以下代码,但它不在tab键上工作。使用返回键时工作正常 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if(textField == textName){

嗨,我想从无线键盘(外部键盘)检测iPad应用程序中按下的tab按钮,所以我让下一个textfield成为第一响应者。我正在执行以下代码,但它不在tab键上工作。使用返回键时工作正常

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    if(textField == textName){      
        if ([string isEqualToString:@"\t"]) {
            [textName resignFirstResponder];
              [textRno becomeFirstResponder];   
        }
    }
    return YES;
}

是否有其他方法。

可能希望打印收到的键,而不是检查键盘处理例程是否正常,并且它也会告诉您要查找什么。

文本字段代表从未被要求在键盘上使用选项卡按钮。

似乎您要切换到下一个输入视图(例如文本字段)在制表符笔划上。系统会自动执行此操作

您可以使用视图标记和此答案中的代码控制“选项卡顺序”:

另外,请看这些相关问题:


按下外部键盘时,您可以捕捉到
\t
转义字符:

-
alt
+
制表器
或 -
ctrl
+
制表器

仅按下
制表器
按钮不会产生您已经体验过的任何效果,因为当按下
制表器
按钮时,您的应用程序将不会收到有关此事件的任何反馈,因此,当用户只按下此按钮时,您无法处理

上使用UIEvent方法。我很惊讶,似乎没有其他人在iOS上解决了这个问题

我设计了一个解决方案,可以处理Tab和Shift+Tab向前和向后移动到iOS上想要的任何字段,并且不使用任何私有API


我在这里写过:

这是我如何使用tab键切换到下一个响应程序:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if (self.currentTextField != nil && self.currentTextField == textField)
        [self switchToNextResponder];

    self.currentTextField = textField;
    return YES; 
}

为了澄清,我认为@iPhoneMonster指的是这个-。@感知:对不起,朋友,但我没有用谷歌搜索这个问题…我在我的测试应用中尝试了这个方法,以检查它是否有效…如果你在这里提供的链接上有它,那么对其他人来说就更好了。。!!我有一个非常复杂的视图,由于某种原因,系统不会自动切换到下一个文本字段。我添加了“下一步”和“上一步”按钮来实现这一点,效果很好。我只想在用户点击Tab键时调用我的“next”代码。当用户点击Tab键时,当前文本字段会失去焦点,仅此而已。