UITextField SigAbrts on selectedTextRange - PullRequest
       35

UITextField SigAbrts on selectedTextRange

2 голосов
/ 04 ноября 2011

Я пытаюсь найти и удалить выделенный текст в текстовом поле, но это SIGABRT каждый раз. Я продолжаю получать NSInvalidArgumentException, когда я пытаюсь получить selectedTextRange. Фактически, я проверил это, и каждая функция, связанная с выделенным текстом, кажется, ломает приложение.

[mTextField selectedTextRange];

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

Ответы [ 3 ]

3 голосов
/ 09 марта 2012

selectedTextRange можно использовать только на iOS5 +.

1 голос
/ 04 ноября 2011

Я серьезно не думаю, что вы можете достичь этого с помощью UITextField.

Однако я думаю, что вы можете сделать это, реализовав UITextViewDelegate. В этом методе вы можете использовать свойство selectedRange.

- (void)textViewDidChangeSelection:(UITextView *)textView

Кстати, ваш вопрос может иметь отношение к этому вопросу:

Можно ли выбрать определенный блок текста в UITextField?

Проверьте это ..

1 голос
/ 04 ноября 2011

Поскольку вы пометили свой вопрос с помощью nstextfield, я предполагаю, что вы используете NSTextField (Mac OS X) вместо UITextField (iOS).Проблема в том, что NSTextField не поддерживает сообщение selectedTextRange.(UITextField поддерживает его.) Я не вижу способа получить выбранный диапазон из NSTextField.

Если вы переключитесь на использование NSTextView, выотправьте сообщение selectedRanges.

...