2013-10-28 11 views
19

W przypadku iOS7 protokół UITextInputTraits otrzymuje nowe wartości dla enum UIKeyboardAppearance. W szczególności jestem zainteresowany zmianą keyboardAppearance na UIKeyboardAppearanceDark w celu dopasowania do aktualnego projektu ciemnej aplikacji.Zmiana właściwości klawiatury dla całej aplikacji

Najpierw zajrzałem do Info.plist, ale wygląda na to, że nie ma klucza pozwalającego na globalne ustawienie tej właściwości.

Moja druga myśl polegała na użyciu UIAppearance, ale niestety keyboardAppearance nie ma dekoratora UI_APPEARANCE_SELECTOR. Ale z jakiegoś powodu ten kod:

[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceDark]; 

prace nad iOS7, ale wywala w iOS6.

Jeszcze bardziej dziwnie następujący kod:

[[UITextView appearance] setKeyboardAppearance:UIKeyboardAppearanceDark]; 

nie działa w iOS7 ani iOS6.

Dobrym pomysłem może być stworzenie podklasy zarówno UITextField & UITextView, ale w ten sposób nie działa na przykład w UISearchBar.

Nie chcę tworzyć kategorii, ponieważ nie chcę sortować nadinterpretacji implementacji klas Apple i prawdopodobnie nie był to dowód na przyszłość.

Ktoś kiedykolwiek sobie z tym poradził?

+1

Nie wygląda na to, że jest to możliwe :( http://stackoverflow.com/a/19032824/484780 –

+0

Stworzyłem dla tego małą kategorię. Wkrótce opublikuję –

Odpowiedz

5

Funkcja ta kontrola https://github.com/hackiftekhar/IQKeyboardManager

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [[IQKeyboardManager sharedManager] setOverrideKeyboardAppearance:YES]; 
    [[IQKeyboardManager sharedManager] setKeyboardAppearance:UIKeyboardAppearanceDark]; 
    return YES; 
} 

Stosowany jest głównie do zarządzania odległość między klawiatura & textField jednak problemu może być również rozwiązany poprzez tę wielką bibliotekę.

+0

Dziękuję za udostępnienie, to jest dobre, pracował dla mnie, ponieważ chciałem zmienić wygląd klawiatury mojej aplikacji. Wcześniej wcześniej próbowałem go, pisząc własną klawiaturę, modyfikując UIView z wklejonym obrazem, ale to było jak ponowne wymyślenie koła. – chathuram

Powiązane problemy