Я использую UITextView
для хранения статического содержимого (на китайском языке, что означает, что все символы имеют фиксированную ширину). Я хочу позволить пользователям нажимать на символ в тексте и выводить словарную информацию для этого символа. Я знаю все проблемы, связанные с отсутствием копирования и вставки, и все такое, но я надеюсь, что найдется способ сделать это, не дожидаясь прошивки iPhone 3.0.
Сначала я подумал об использовании свойства UITextView
s selectedIndex
. К сожалению, когда UITextView
недоступен для редактирования, следующий код в UITextView
всегда возвращает длину всего текстового блока:
NSRange touchPoint = self.selectedRange;
NSLog(@"Selection: %d", touchPoint.location);
Полагаю, это имеет смысл, как и в случае нередактируемого UITextView
, нет способа выбрать точку вставки, но это мне не поможет. :)
Другой подход заключается в том, чтобы рассчитать, используя тот факт, что текст на китайском языке имеет фиксированную ширину, где находится щелчок и какой текст должен находиться под этим местоположением в данный момент, но это осложняется пунктуацией, которая может вызвать перенос строки рано, приведя предшествующие символы вниз по строке.
Есть ли другой способ узнать, какой текст находится под сенсорным событием, которое я пропускаю?