2015-03-24 11 views
7

Sto tentando di utilizzare UIAlertController. Ho bisogno di un popover con due pulsanti: "Annulla" e "Elimina e disconnetti". Ma posso solo vedere il pulsante "Elimina e disconnetti" e non il pulsante Annulla. Ecco il codice: -Il pulsante Annulla non viene visualizzato per un UIAlertController in iPad, iOS8 e nell'obiettivo-C

NSString *confirmText = "Hi"; 
UIAlertController *alert = [UIAlertController alertControllerWithTitle:confirmText message:@"" preferredStyle:UIAlertControllerStyleActionSheet]; 


// Created a deleted action 
UIAlertAction *destroyAction = [UIAlertAction actionWithTitle:@"Delete and Sign Out" 
             style:UIAlertActionStyleDestructive 
             handler:^(UIAlertAction *action) { 
              NSLog(@"Delete Action Pressed"); 
              [self signout]; 
             }]; 
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" 
                 style:UIAlertActionStyleCancel 
                handler:nil]; 


[alert.view setTintColor:[UIColor grayColor]]; 
[alert addAction:cancelAction]; 
[alert addAction:destroyAction]; 
[alert setModalPresentationStyle:UIModalPresentationPopover]; 

UIPopoverPresentationController *popPresenter = [alert popoverPresentationController]; 
// Set the sourceView. 
popPresenter.sourceView = logoutButton; 
popPresenter.sourceRect = logoutButton.bounds; 
[self presentViewController:alert animated:YES completion:nil]; 

Purtroppo, non sono in grado di inviare le immagini, quindi per favore fatemi sapere se avete bisogno di più chiarimenti.

+0

Ho testato il codice e tutto funziona ... Vedo entrambi i pulsanti su iPad e iPhone in iOS8. Si prega di includere il codice che è stato utilizzato per creare un'istanza del controller degli avvisi. – Chase

risposta

12

Su iOS8 il pulsante Annulla viene visualizzato solo quando necessario. Se si esegue l'app su iPhone è visibile. Se si esegue l'applicazione su iPad, il pulsante Annulla non viene visualizzato e il gestore per l'azione Annulla (stile: UIAlertActionStyleCancel) viene chiamato quando l'utente tocca fuori dal popup.