Якщо ви хочете замінити клавіатуру на, скажімо, UIPicker
як inputView
(звичайно, як панель інструментів як inputAccesotyView
), то це рішення може допомогти ...
- Реалізація
textFieldShouldBeginEditing:
- всередину поставити
textField.userInteractionEnabled = NO;
- Тоді, коли ви збираєтесь закрити
UIPickerView
, встановіть його ТАК.
Роблячи це, ви зможете натиснути на UITextField
та показати параметри вибору з цього моменту UIPickerView
, в цей час ви UITextField
дійсно не реагуватимуть на будь-яку сенсорну подію (це включає дотик та утримання для вирізання, копіювання та вставки). Однак вам доведеться пам’ятати, щоб повернути його ТАК, коли ви закриваєте своє, UIPickerView
проте ви не зможете отримати доступ до свогоUIPickerView
.
Єдиний момент, коли він не вдається - це коли користувач починає натискання та утримування UITextView
, тоді ви побачите вирізану копію та вставте знову вперше. Ось чому ви завжди повинні перевірити свої дані. Це найпростіше, що я можу придумати. Іншим варіантом було використання UILabel
тексту лише для читання, але ви втрачаєте багато чудових функціональних можливостей UITextView
.