it-swarm.com.ru

Как программно установить ключ возврата для определенного UITextField?

Я не могу поверить, что этот вопрос еще не был задан, но я не смог его найти, так что это мое предположение.

Я создал собственные подклассы UITableViewCell, используя Interface Builder. Каждый из них содержит UILabel и UITextField и используется для нашего экрана входа в систему.

На первой UITextField я хочу, чтобы клавиша на клавиатуре говорила Next. Тем не менее, на втором UITextField, я хочу, чтобы он сказал "Готово".

Как программно изменить значение Return Key на клавиатуре? Я не могу использовать Interface Builder, так как это приведет к тому, что оба ключа будут отображаться как Done.

Спасибо!

40
TigerTrussell

Для первого UITextField, прочитайте ЭТО учебник о том, как создать кнопку на клавиатуре. Вы можете изучить логику и использовать кнопку Next вместо кнопки Done.

   //if you just want to make it appear NEXT//

    textField.returnKeyType = UIReturnKeyNext;

А для второй UITextField используйте ...

   // for DONE //

    textField.returnKeyType = UIReturnKeyDone;

В общем случае вы можете создать и переименовать кнопку в любом месте и убедиться, что вы даете право IBAction в случае нажатия этой кнопки. Если вы создадите свою собственную кнопку, посмотрите учебник выше, чтобы узнать, как разместить ее в нужных координатах и ​​прочее. 

82
Legolas

Это также можно сделать, установив свойство в файле .xib. Вам просто нужно установить свойство Return Key для UITextField в Next в Attribute Inspector.

2
vaishali

вы должны вызвать [textView reloadInputViews]; после установки типа клавиши возврата, чтобы немедленно обновить внешний вид клавиши возврата клавиатуры.

СДЕЛАЙТЕ ЭТО СЛЕДУЮЩИМ

textView.returnKeyType = UIReturnKeyDone; [textView reloadInputViews];

1
Quanhua Guan

В Swift 4 следующий код может использоваться для замены «кнопки возврата» на клавиатуре на «кнопку поиска» или «кнопку готовности»:

yourTextField.returnKeyType = UIReturnKeyType.search
yourTextField.returnKeyType = UIReturnKeyType.done
0
Mahyar