текстовое поле userinteractionenabled отключить также ввод obj c - PullRequest
0 голосов
/ 17 июня 2019

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

пример

1 Ответ

0 голосов
/ 17 июня 2019

Конечно, это так. Некоторые идеи:

  1. Добавьте новое подпредставление UIView в ваше текстовое представление сверху, охватывающее часть, которая предназначена для "игнорирования" прикосновений пользователя. Установите его фон на clearColor, чтобы текстовое представление было действительно видимым (во время отладки сплошной цвет, такой как красный, может быть полезен, прежде чем вы будете довольны окончательным размером и позиционированием). Небольшой недостаток этого подхода заключается в том, что фреймы представляют собой прямоугольники, поэтому область над и под кнопкой будет по-прежнему принимать пользовательский ввод (что может или не может иметь значение в вашем случае).
  2. наоборот. Поместите представление текстового поля в контейнерное представление (также цвет фона, установленный на прозрачный цвет), сделайте рамку контейнера меньше, чем текстовое представление. Установите origin.x рамки текстового поля на отрицательное число. Установите для клипа вида контейнера значение bounds NO. В конечном итоге вы хотите, чтобы вид контейнера соответствовал кнопке «Назад» и соответственно позиционировал вид текста. Вам также необходимо пройти сквозные события касания в текстовое поле:

в виде контейнера из 2)

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
        return NO;
}

Теперь только ваша область текстового представления в представлении контейнера будет принимать прикосновения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...