Я хочу использовать UIMenuController для отображения параметров автозаполнения для текстового поля на основе данных, которые у меня уже есть в приложении. Код для обновления пунктов меню и заполнения текстового поля, когда он выбран, отлично работает, но я не могу найти способ сохранить видимость элемента управления меню во время ввода. Я пробовалдержать UIMenuController видимым при вводе
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
[[UIMenuController sharedMenuController] setMenuVisible:YES animated:YES];
return YES;
}
но это ничего не делает. Если я положу код для обновления пунктов меню до того, как код будет отображаться в меню, я просто закончу замену первой буквы в текстовом поле снова и снова, и меню все еще не отображается.
Возможно, настоящая проблема заключается в том, что UIMenuController автоматически выбирает последнее слово в текстовом поле, когда оно отображается, но я также не нашел для этого исправления.
В итоге я перешел на другой маршрут, который занимает меньше недвижимости и действительно выглядит действительно замечательно. Проверьте [это текстовое поле автозаполнения] (https://github.com/hoteltonight/HTAutocompleteTextField), отправленный Джоном Сибли в HotelTonight. – codemolly
Да, альтернативы UIMenuController более привлекательны. –