iOS Longpress для выбора текста - PullRequest
4 голосов
/ 17 июня 2011

Я создаю простое приложение для поиска на основе таблиц. Пользователь может осуществлять поиск через клавиатуру. Но я также хочу иметь другой режим поиска.

Скажите пользователю longpress на UILabel, затем, основываясь на том, где происходит печать, это слово должно быть выбрано, и должен произойти поиск (без клавиатуры) по этому слову.

Я знаю, как обнаружить longpress события, но кто-нибудь знает, как копировать, обнаруживать и получать доступ к точному термину, в котором произошло longpress?

ОБНОВЛЕНИЕ : я знаю, что могу получить объект, из которого произошел longpress, из которого я могу получить содержимое текста метки. Но мне нужно точное слово, поверх которого был помещен палец.

Ответы [ 2 ]

2 голосов
/ 17 июня 2011

Ничего легкого на ум не приходит UILabel или UITextView. Если вы хотите выложить текст самостоятельно с помощью Core Text, то вы можете довольно легко найти слова на ощупь. Проблема в том, что вы потеряете существующие функции выделения в UILabel и будете вынуждены переопределить их (или создадите «теневую разметку» в Core Text, надеясь, что все будет одинаково распределено в UILabel ..., медленно опускающемся в безумие). здесь.)

Вместо того, чтобы спускаться по этой кроличьей норе, я бы порекомендовал использовать стандартный механизм выделения текста и добавить «поиск» в меню .

1 голос
/ 17 июня 2011

Просто поместите UILongPressGestureRecognizer на вашу метку, и тогда, когда сработает распознаватель жестов, вы сможете получить доступ к тому объекту, из которого он получен, и прочитать значение метки оттуда.

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