2014-11-17 13 views
9

Mam aplikację typu słownikowego języka obcego, która pozwala na użycie transliterowanych (na angielski) słów. Ogromna większość wpisów jest pisana małymi literami, ale jest kilka wpisów wielkimi literami. Od wersji IOS 8 pasek wyszukiwania nie rozpoznaje już UITextAutocapitalizationTypeNone. Powoduje to znaczną frustrację dla użytkowników końcowych. Czy istnieje jakaś praktyczna strategia wyłączania początkowej kapitalizacji? Obecnie jest wyłączone w ustawieniu scenorysu dla UISearchBarIOS 8 nie obsługuje już UITextAutocapitalizationTypeNone

Jest to istniejąca aplikacja, napisana pierwotnie dla systemu iOS 6. Aktualna dokumentacja firmy Apple stwierdza, że ​​funkcja AutocapitalizationType jest dostępna z systemu iOS 2 do wersji iOS 7.1. Użytkownicy zgłosili zmianę po przejściu na system iOS 8.

+0

Kiedy mówisz, że to nie jest rozpoznawany, co masz na myśli? Ostrzeżenie dotyczące kompilatora lub czy wprowadzony tekst jest w jakiś sposób pisany wielkimi literami? Pokaż, jak skonfigurować pasek wyszukiwania. – rmaddy

+0

@rmaddy Pasek wyszukiwania jest ustawiony w serii ujęć. Klawisz Caps Lock jest automatycznie włączany dla pierwszego znaku, nawet przy użyciu klawisza Delete, aby powrócić na pierwszą pozycję. – Bill

+0

'autocapitalizationType' faktycznie nie jest przestarzałe. Dokumenty są mylące. Przed wersją iOS 8.0 'UISearchBar' miał właściwość' autocapitalizationType'. Od wersji iOS 8 właściwość została usunięta, ale dodano protokół 'UITextInputAttributes'. Ten protokół udostępnia właściwość 'autocapitalizationType'. Tak więc nic się nie zmieniło. Właściwość nadal istnieje, jest tylko zadeklarowana inaczej. Jeśli nie działa on w serii ujęć, spróbuj dodać kod, aby ustawić właściwość bezpośrednio. – rmaddy

Odpowiedz

14

autocapitalizationType nie został uznany za przestarzały. Dokumenty są mylące. Przed iOS 8.0, UISearchBar miał właściwość autocapitalizationType. Od wersji iOS 8 właściwość została usunięta, ale dodano protokół UITextInputAttributes. Ten protokół zapewnia właściwość autocapitalizationType. Tak więc nic się nie zmieniło. Właściwość nadal istnieje, jest tylko zadeklarowana inaczej.

Jeśli storyboard nie zapewnia drogę roboczą ustawić właściwość autocapitalizationType, ustawić go w kodzie:

self.someSearchbar.autocapitalizationType = UITextAutocapitalizationTypeNone; 
+3

w swift use UITextAutocapitalizationType.None – quemeful

+1

ustawienie tej właściwości w storyboardie nic nie robi, ale pisanie go w kodzie działa sztucznie! Więc podniosłem tę odpowiedź, dzięki! –

Powiązane problemy