2014-11-17 4 views
9

У меня есть приложение типа словаря на иностранном языке, которое позволяет использовать слова транслитерации (на английском языке). Подавляющее большинство записей имеют строчные буквы, но есть несколько записей в верхнем регистре. Начиная с IOS 8, поисковая панель больше не распознает UITextAutocapitalizationTypeNone. Это вызывает значительное разочарование для конечных пользователей. Существует ли какая-либо практическая стратегия, чтобы отключить начальную капитализацию? В настоящее время он отключен в настройках раскадровки для UISearchBarIOS 8 больше не поддерживает UITextAutocapitalizationTypeNone

Это существующее приложение, первоначально написанное для iOS 6. В текущей документации Apple указано, что AutocapitalizationType доступен с iOS 2 до iOS 7.1. Пользователи сообщили об изменении после перехода на iOS 8.

+0

Когда вы говорите, что не признается, что вы имеете в виду? Предупреждение компилятора или введенный текст каким-то образом капитализируется? Покажите, как настроить панель поиска. – rmaddy

+0

@rmaddy Панель поиска настраивается в раскадровке. Ключ блокировки крышки автоматически включается для первого символа, даже если клавиша удаления вернется в первую позицию. – Bill

+0

'autocapitalizationType' фактически не устарел. Документы вводят в заблуждение. До iOS 8.0 'UISearchBar' имел свойство autocapitalizationType. Начиная с iOS 8, свойство было удалено, но был добавлен протокол UITextInputAttributes. Этот протокол предоставляет свойство autocapitalizationType. Так что практически ничего не изменилось. Имущество все еще существует, оно просто объявлено по-разному. Если он не работает через раскадровку, попробуйте добавить код, чтобы напрямую установить свойство. – rmaddy

ответ

14

autocapitalizationType не был устаревшим на самом деле. Документы вводят в заблуждение. До iOS 8.0, UISearchBar имел свойство autocapitalizationType. Начиная с iOS 8, свойство было удалено, но был добавлен протокол UITextInputAttributes. Этот протокол предоставляет свойство autocapitalizationType. Так что практически ничего не изменилось. Имущество все еще существует, оно просто объявлено по-разному.

Если раскадровка не дает рабочий способ установить autocapitalizationType свойство, установите его в коде:

self.someSearchbar.autocapitalizationType = UITextAutocapitalizationTypeNone; 
+3

in Swift use UITextAutocapitalizationType.None – quemeful

+1

установка этого свойства в раскадровке ничего не делает, но писать его в коде делает трюк! Поэтому я отвечу на этот ответ, спасибо! –

Смежные вопросы