如何给按钮 iPhone onScreenKeyboard return 按键行为?

How to give a button iPhone onScreenKeyboard return key behaviour?

我有一个应用程序,我必须在其中实现屏幕键盘顶部的自定义快速输入建议。 Where(QuickType Suggestion Box) 右键行为就像键盘 return 类型行为一样。如果键盘 return 键是 "next" 那么建议的右键将是 "next",如果 "Done" 那么它也必须是 "Done" 以及类型操作. 当它出现时,我在键盘的顶部看到了三个按钮。但我无法弄清楚,如何使用它? 有可能用这个技巧吗?如何? 如果,还有其他方法可以做到这一点,请提出建议。

好的,所以首先你需要知道键盘按钮的类型,如果按钮是下一个,那么你的文本字段应该为每个按钮都有一个唯一的标签:

-(IBAction)didTapOnCustomNextButton:(id)sender
{
    UITextField * textField = (UITextField *)sender ;

    if(textField.returnKeyType == UIReturnKeyNext)
    {
       NSInteger nextTextField = textField.tag+1;

       UIResponder* responder = [textField.superview viewWithTag:nextTextField];

       if (responder!=nil) 
       {
          [responder becomeFirstResponder];
       } 
       else 
       {
         [textField resignFirstResponder];
       }
    }
    else
    {
       [textField resignFirstResponder];
    }

}

编辑 1: 我编辑了我的代码以在 IBAction 中工作,还修复了一些变量名称

1.first,你需要找到你的textfield返回键类型,然后根据它在工具栏上制作一个Barberton。

-(void)customizeToolbarMethod
  {
     if(textField.returnKeyType == UIReturnKeyNext)
       {
        UIBarButtonItem *barBtnPrev = [[UIBarButtonItem alloc] initWithTitle:@"Next"
                                                                           style:UIBarButtonItemStyleBordered
                                                                          target:self action:@selector(actionBtnNextForPassword)];
       }
    else if(textField.returnKeyType == UIReturnKeyDone)
       {
    UIBarButtonItem *barBtnDone = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                                                                       style:UIBarButtonItemStyleDone
                                                                      target:self action:@selector(actionResignKeyBoard)];
       }  
 //set this bar button onto your toolbar by making them array of bar-button
  } 
-(void) actionBtnNextForPassword
 {
           //do what you want to do......
 }
-(void)actionResignKeyBoard
 {
           //do what you want to do......
 }

以下方法对我有用:

-(IBAction)customNextButtonAction:(id)发件人{

 for (UITextField *textField in [self.textFieldContainingView subviews]) {
     if ([textField isKindOfClass:[UITextField class]] && textField == self.desiredTextField) {
        [self.desiredTextField resignFirstResponder];
        UIView *next = self.nextTextField;
        [next becomeFirstResponder];
    }
}

}

谢谢大家的帮助。