Come si fa a respingere un UIActionSheet da App delegato?
-
27-10-2019 - |
Domanda
Sto cercando di respingere un UIActionSheet dal delegato un'applicazione in modo che non mostra di nuovo quando si torna da sfondo. Ho cercato di respingere il foglio di azione tra le viewDidUnload
o viewDidDisappear
metodi nel controller della vista sottoclasse, ma che non sembra ottenere chiamato quando gli sfondi app.
Quindi, sto cercando di utilizzare il delegato applicazione di respingere sia UIActionSheet
che può mostrare quando gli sfondi app. Ma io non riesco a capire come chiamarla. Qualcuno ha una soluzione? O un'idea migliore per ottenere la stessa cosa?
Grazie.
Soluzione
@Dylan cosa si può fare è che si può dichiarare la proprietà per la variabile uiactionsheet e la sintesi anche.
Poi nel AppDelegate nel metodo applicationDidBecomeActive si può licenziare che actionsheet chiamando il metodo respingere facendo qualcosa di simile [viewController.actionSheet dismissWithClickedButtonIndex:0 animated:NO]
. Supponendo di avere il riferimento nella vostra AppDelegate.
Ma se poi non si possono trovare tutti i UIViews mostrati in cima alla UIWindow e quindi controllare se uno qualsiasi dei UIViews è una specie di classe che sta mostrando actionsheet. Dopo di che si può chiudere l'actionsheet facendo lo stesso come scritto sopra una volta che hai la tenuta di quella viewController che sta mostrando actionsheet.
Altri suggerimenti
cercare di respingere in modo applicationDidBecomeActive
di appDelegate
.