Добавьте кнопки «Готово» и «Новая строка» на клавиатуре в приложении iPhone. - PullRequest
4 голосов
/ 02 февраля 2011

Я создал оконное приложение с UITabbarController в качестве RootViewController.На одной из вкладок я указал UITextField и UITextView.Я хочу предоставить две кнопки на самой клавиатуре:

  • Готово - которая скроет клавиатуру.
  • Ввод - для новой строки.

Пожалуйста, оставьте свой ответ, если у кого-нибудь есть идеи, как это сделать.

Ответы [ 3 ]

4 голосов
/ 02 февраля 2011

Для UITextField вы можете изменить ключ возврата на готовый ключ, установив следующее:

targetTextField.returnKeyType = UIReturnKeyDone;

Однако вы не сможете одновременно использовать клавиши Enter и Done без добавления пользовательских представлений к клавиатуре.

Кроме того, чтобы контролировать готовое поведение клавиатуры, вы должны реализовать метод UITextFieldDelegate:

targetTextField.delegate = self;
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
     return YES;  //dismisses the keyboard
}

Я знаю, что вы можете установить returnKeyType для UITextView, но я не уверен, что вы можете манипулировать поведением клавиши возврата.

1 голос
/ 22 июля 2013

По какой-то причине верните ДА;не работал сам по себе.это сработало для меня:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {

    if (textField.returnKeyType == UIReturnKeyNext) {
        NSInteger nextTag = textField.tag + 1;
        // Try to find next responder
        UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
        if (nextResponder) {
            // Found next responder, so set it.
            [nextResponder becomeFirstResponder];
        }
    }

    if (textField.returnKeyType == UIReturnKeyDone) {
        [textField resignFirstResponder];
    }
    return YES;  //dismisses the keyboard
}
1 голос
/ 02 февраля 2011

У вас есть учебник по добавлению подпредставлений на клавиатуру iPhone здесь:

http://www.iphonedevsdk.com/forum/iphone-sdk-tutorials/7350-adding-subviews-custimize-keyboard.html

Надеюсь, это поможет, Винсент

...