У меня есть UISearchBar
, я получаю UITextfield
, а затем я хочу установить выделенный диапазон текста, но он всегда возвращает нуль. Это мой код:selectedTextRange return nil в UISearchbar iOS
UITextField *searchField = [self.searchBar valueForKey:@"_searchField"];
[searchField becomeFirstResponder]; // focus to this searchfield
И я заполняю в тексте:
self.searchBar.text = @"This is text";
И проверил, если UITextField
текст заполняется, и это. Тем не менее, все методы, касающиеся UITextPosition
и UITextRange
возврата ноля:
UITextRange *selectedRange = [searchField selectedTextRange]; //selectedRange = nil
UITextPosition *newPosition = [searchField positionFromPosition:selectedRange.start offset:addressToComplete.street.length]; //newPosition = nil
UITextRange *newRange = [searchField textRangeFromPosition:newPosition toPosition:newPosition]; //newRange = nil
Мой код не так-то?
Вы уверены, что 'searchField' не' nil'? – rmaddy
Да, я уверен, что это не nil – NTNT
Прочтите документы для 'selectedTextRange'. Он говорит, что возвращает «nil», если нет выбора. Имеет ли текстовое поле фокус, когда вы вызываете эти методы? – rmaddy