Nel mio universale iOS 8 app, che vi presento un popover utilizzando utilizzando UIPopoverPresentationController
come si vede qui sotto da prepareForSegue
:Come impedire a UIPopoverPresentationController di essere eliminato quando si fa clic al di fuori del popover?
FavoriteNameViewController *nameVC = segue.destinationViewController;
UIPopoverPresentationController *popPC = nameVC.popoverPresentationController;
popPC.delegate = self;
E con questo metodo delegato.
- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller {
return UIModalPresentationNone;
}
In questo caso particolare, sto presentando un controller di visualizzazione che sembra un avviso, ma non lo è.
Ora il mio problema è che l'utente può fare clic al di fuori di questo popover e diventa respinto. Non c'è alcun problema reale, tranne che non è come funzionano gli avvisi e vorrei emulare un avviso.
Vedo che UIPopoverControllerDelegate
aveva un metodo chiamato popoverControllerShouldDismissPopover:
, ma UIPopoverPresentationControllerDelegate
non ha quel metodo, e credo di aver bisogno di usare quest'ultimo.
Potremmo parlare ora (cosa hai rifiutato di fare nella tua precedente domanda) sul motivo per cui non stai usando una vista presentata per questo? Perché non fai solo ciò che faccio qui: crea una vista che assomiglia e si comporta come una vista di avviso? https://github.com/mattneub/custom-alert-view-iOS7 - Questo risolverebbe anche il problema del popover che non è un popover in landscape su iPhone 6 plus. – matt
Il motivo per cui ho seguito la rotta che ho fatto è perché quando ho cercato come presentare un popover era il metodo che ho trovato. Verificherò il tuo progetto per una migliore comprensione di ciò di cui stai parlando. Molto apprezzato. –