Ho un vecchio progetto Xcode destinato a iOS 6 e versioni successive. Recentemente ho aperto in Xcode 6 e corse in iPhone 6 simulatore per iOS 8. Quando ho provato questa azioneUIAlertView Vs UIAlertController - nessuna tastiera in iOS 8
UIAlertView* dialog = [[UIAlertView alloc] initWithTitle:@"Enter Folder Name"
message:@"Keep it short and sweet"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
dialog.alertViewStyle = UIAlertViewStylePlainTextInput;
dialog.tag = 400;
[dialog show];
ottengo una finestra pop-up, ma quando clicco sul campo di testo, senza tastiera viene in su . Ho cercato su Google e ho letto che ho bisogno di usare UIAlertController. Dal momento che ho bisogno di supportare anche iOS 6, 7 versioni così ho cambiato il mio codice in questo modo.
if ([UIAlertController class])
{
// use UIAlertController
UIAlertController *alert= [UIAlertController
alertControllerWithTitle:@"Enter Folder Name"
message:@"Keep it short and sweet"
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action){
//Do Some action here
UITextField *textField = alert.textFields[0];
NSLog(@"text was %@", textField.text);
}];
UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
NSLog(@"cancel btn");
[alert dismissViewControllerAnimated:YES completion:nil];
}];
[alert addAction:ok];
[alert addAction:cancel];
[alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.placeholder = @"folder name";
textField.keyboardType = UIKeyboardTypeDefault;
}];
[self presentViewController:alert animated:YES completion:nil];
}
else
{
// use UIAlertView
UIAlertView* dialog = [[UIAlertView alloc] initWithTitle:@"Enter Folder Name"
message:@"Keep it short and sweet"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
dialog.alertViewStyle = UIAlertViewStylePlainTextInput;
dialog.tag = 400;
[dialog show];
}
Anche se provo la stessa azione NO tastiera viene visualizzato.
Si tratta di un errore nel simulatore Xcode 6 o sto facendo qualcosa di sbagliato?
provare a premere "Comando" + "K", può essere iOS rileva l'tastiera hardware, quindi non è mostra la tastiera –
Nel menu del simulatore opzione Hardware -> Tastiera -> Attiva tastiera software – yazh