In meinem universellen iOS 8-App, präsentiere ich eine popover von prepareForSegue
mit UIPopoverPresentationController
wie unter Verwendung gesehen:Wie kann verhindert werden, dass UIPopoverPresentationController beim Klicken auf ein externes Popover beendet wird?
FavoriteNameViewController *nameVC = segue.destinationViewController;
UIPopoverPresentationController *popPC = nameVC.popoverPresentationController;
popPC.delegate = self;
Und mit dieser Delegatmethode.
In diesem speziellen Fall, ich präsentiere einen View-Controller, der aussieht wie eine Warnung, ist aber nicht.
Nun mein Problem ist, dass der Benutzer außerhalb dieses popover klicken kann, und es wird abgewiesen. Es gibt kein echtes Problem, außer dass Alarme nicht funktionieren und ich möchte, dass dies eine Warnung emuliert.
Ich sehe, dass UIPopoverControllerDelegate
hatte eine Methode namens popoverControllerShouldDismissPopover:
, aber UIPopoverPresentationControllerDelegate
hat nicht diese Methode, und ich glaube, ich muss die letztere verwenden.
Können wir jetzt darüber sprechen (was Sie in Ihrer früheren Frage nicht getan haben), warum Sie keine vorgestellte Ansicht dafür verwenden? Warum tust du nicht einfach das, was ich hier mache: eine vorgestellte Ansicht erstellen, die wie eine Alarmansicht aussieht und sich verhält? https://github.com/matnteub/custom-alert-view-iOS7 - Dies würde auch das Problem des Popover lösen, das kein Popover in der Landschaft auf dem iPhone 6 plus ist. – matt
Der Grund, warum ich den Weg gegangen bin, ist, weil, als ich nach einem Popover suchte, die Methode war, die ich fand. Ich werde Ihr Projekt prüfen, um besser zu verstehen, wovon Sie sprechen. Sehr geschätzt. –