Это будет трюк, я предпочитаю этот метод с установкой textField.enabled = YES, когда вероятность того, что способность редактировать изменится в течение жизненного цикла приложения.
Ответ 3
textField.userInteractionEnabled = NO;
Надеюсь, что это поможет.
Ответ 4
Возврат NO из shouldChangeCharactersInRange был бы лучшим выбором, потому что если текст длиннее ширины текстового поля, то выше решение даст проблему, потому что пользователь не сможет увидеть весь текст (т.е. текст скрыт за пределами ширины текстового поля)