Wie lehnen Sie ein Uiactionsblatt aus dem App -Delegierten ab?
-
27-10-2019 - |
Frage
Ich versuche, ein Uiactionsblatt aus dem App -Delegierten zu entlassen, damit es nicht erneut angezeigt wird, wenn Sie aus dem Hintergrund zurückkehren. Ich habe versucht, das Handlungsblatt von der abzulehnen viewDidUnload
oder viewDidDisappear
Methoden im Subklassenansicht -Controller, aber das scheint nicht aufgerufen zu werden, wenn die App im Hintergrund ist.
Daher versuche ich, den App -Delegierten zu verwenden, um entweder zu entlassen UIActionSheet
Das kann angezeigt werden, wenn die App im Hintergrund. Aber ich kann nicht herausfinden, was ich anrufen soll. Hat jemand eine Lösung? Oder eine bessere Idee, um dasselbe zu erreichen?
Vielen Dank.
Lösung
@Dylan Was Sie tun können, ist, dass Sie die Eigenschaft für Ihre Uiacions -Blatt -Variable deklarieren und auch synthese.
In AppDelegate in ApplicationDidBecomeactive -Methode können Sie dieses Handlungsblatt abweisen, indem Sie die Entlassungsmethode aufrufen, indem Sie so etwas tun [viewController.actionSheet dismissWithClickedButtonIndex:0 animated:NO]
. Angenommen, Sie haben die Referenz in Ihrem AppDelegate.
Aber wenn nicht, finden Sie alle UIViews, die oben auf der UIWindow gezeigt sind, und überprüfen Sie dann, ob eine der UIViews eine Art Klasse ist, das Handlungsblatt anzeigt. Danach können Sie das Handlungsblatt abweisen, indem Sie dasselbe wie oben geschrieben tun, sobald Sie diesen ViewController erhalten, der Aktionsblatt anzeigt.
Andere Tipps
versuchen Sie zu entlassen applicationDidBecomeActive
Methode von appDelegate
.