IOS: действие с помощью клавиши enter на клавиатуре iPad

#objective-c #xcode #ios #ipad #uitextfield

#objective-c #xcode #iOS #iPad #uitextfield

Вопрос:

У меня есть два текстовых поля, в первом текстовом поле я пишу «Привет», и когда я нажимаю enter на клавиатуре iPad, я хочу, чтобы во втором текстовом поле появилось «Мир»; Как я могу использовать enter для создания действия в моем приложении?

Ответ №1:

Обычно вы назначаете свой контроллер представления в качестве делегата текстового поля, а затем реализуете textFieldShouldReturn: метод, например:

 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
    otherTextField.text = @"World"
    return YES;
}
  

Комментарии:

1. ах, хорошо, я не писал textFiled. делегировать = самостоятельно;

2. Занимаемая площадь в Swift составляет func textFieldShouldReturn(textField: UITextField) -> Bool

Ответ №2:

Вы можете сделать это, внедрив протокол UITextFieldDelegate в свой контроллер. Например, вы могли бы сделать что-то вроде:

 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (textField == theFirstTextField amp;amp; [textField.text isEqualToString:@"Hello"]) {
        theSecondTextField.text = @"World";
    }
    return YES;
}
  

Ответ №3:

Установите ваш контроллер представления в качестве делегата текстового поля, затем реализуйте

 -(BOOL)textFieldShouldReturn:(UITextField *)textField
  

это вызывается при нажатии кнопки enter на клавиатуре.

Ответ №4:

Это примерно то, что вы бы сделали. Настройка с учетом типа устройства (если вы действительно хотите использовать только iPad):

 #pragma mark - UITextField Delegate

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{
    if (textField == self.firstTextField amp;amp; [textField.text isEqualToString:@"Hello"]) {
        self.secondTextField.text = @"World";
    }
    return YES;
}