Używam klawiatury "ciemnej" do standardowego TextField. Jest to pole tekstowe logowania lub pole tekstowe "zapomnij hasło", w którym użytkownik wprowadza pewne informacje, przesyła je, a jeśli się to uda, są wysyłane do innego widoku, zwykle za pomocą standardowego kontrolera nawigacyjnego popViewControllerAanimated :. AlertView może pojawić się pomiędzy.Czarna klawiatura ios z białym tekstem pojawia się po zmianie widoku przy otwartej klawiaturze
Problemem, który widziałem bardzo często jest to, że klawiatura jest otwarta, normalny "ciemny" szary kolor, a następnie użytkownik klika przycisk Wyślij, może wyświetlić się widok alertu, a podczas odrzucania widok przesuwa się do następny ekran z poprzednią klawiaturą wyłączającą ekran. Na nowym ekranie inna domyślna klawiatura stylu może, ale nie musi przesuwać się, a następnie znikać (bez ustawiania pola tekstowego nawet!). Następnie, po kliknięciu w inne pole tekstowe lub wracaniu do poprzedniego widoku i kliknięciu w pole tekstowe, ta czarna klawiatura z białymi klawiszami pojawia się błędnie. Nadal będzie się pojawiał w polach tekstowych, dopóki coś nie będzie w stanie zepsuć go do normalnego ciemnoszarego po kilku kliknięciach.
Próbowałem odrzucić oryginalną klawiaturę przed popViewController dzieje się, na różne sposoby, ale to nie wydaje się pomóc. Jeśli AlertView pojawi się między nimi, przywiązałem popViewController do akcji delegata po kliknięciu przycisku AlertView. Klawiatura zwykle nie znika wystarczająco szybko, aby wyjść przed naciśnięciem przycisku. Opóźnienie to nie pomaga.
EDYCJA: Widok alertu wydaje się być tutaj definitywnym winowajcą, zakłócając w jakiś sposób pop i klawiaturę.
-(BOOL) textFieldShouldReturn:(UITextField *)textField{
[textfield resignFirstResponder];
[self.view endEditing:YES];
return YES;
}
-(IBAction)submitRequest {
[textfield resignFirstResponder];
[self.view endEditing:YES];
// make API call, if call succeeds run this block {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"..."
message:@"..."
delegate:delegate
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
dispatch_async(dispatch_get_main_queue(), ^{
[alert show];
});
// }
}
// delegate after alert OK is pressed
- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
[self.navigationController popViewControllerAnimated:YES];
}
Jak mogę uniknąć tej czarno-białej klawiatury?
„Próbowałem odwołać oryginalną klawiaturę przed pushViewController dzieje, na różne sposoby, ale nie wydaje się, aby pomóc” Tak, ale można dostać powiadomienie, gdy klawiatura _has_ zniknął, więc dlaczego nie uruchomisz przejścia kontrolera widoku? – matt
Czy to jest klawiatura niestandardowa? Nie wygląda mi to na klawiaturę Apple ... – Blip
Używam standardowej "ciemnej" standardowej szarej klawiatury w całej aplikacji. Jest ciemniejszy od domyślnego jasnoszarego. ale to nie jest takie czarne. Nie używam niestandardowych klawiatur. – Miro