Czy istnieje przydatna właściwość w projekcie dotykowym kakao, która pozwoliłaby ustawić spójny styl wyglądu klawiatury w aplikacji? Załóżmy, że chcę UIKeyboardAppearanceAlert
we wszystkich elementach textFields i textViews, które mam w mojej aplikacji, bez bezpośredniej modyfikacji niczego. Czy to możliwe?Zestaw UIKeyboardAppearance w całej aplikacji
5
A
Odpowiedz
8
Nie, to niemożliwe. Interfejs keyboardAppearance
jest częścią protokołu UITextInputTraits
i nie jest oznaczany jako metoda UIAppmentance. Gdyby to było można zrobić coś takiego:
[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceAlert];
Możesz określić metody, które mogą być używane z prokurentem wygląd patrząc na docs lub od wewnątrz kodu, w nagłówkach UIKit (komenda kliknięcie na . Sposób i potrwa do nagłówka
na przykład w UINavigationBar.h można zobaczyć.
@property(nonatomic,retain) UIColor *barTintColor NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR; // default is nil
znacznik UI_APPEARANCE_SELECTOR oznacza, że nieruchomość może być używana na serwerze proxy wygląd to nie występuje na keyboardAppearance
, i nie wygląda na to, że klawisze w pliku info.plist pozwalają zdefiniować wygląd całej aplikacji.
Najlepiej jest podklasnąć pole tekstowe i widok tekstowy i korzystać z tych podklas wszędzie.
Właściwie na iOS7 jeśli zadzwonisz '[[UITextField wygląd] setKeyboardAppearance: UIKeyboardAppearanceDark];' to działa, nawet jeżeli nieruchomość ma UI_APPEARANCE_SELECTOR dekorator –
kod Luca pracował dla mnie z UITextField, ale moja aplikacja rozbił się, gdy próbowałem zrobić to samo z UITextView. – arlomedia