Prima di iOS 8, la notifica UIMoviePlayerControllerDidEnterFullscreenNotification
è stata inviata ogni volta che un lettore multimediale è andato a schermo intero da un UIWebView. In iOS 8, ciò non accade e alcuni hanno suggerito di ascoltare la notifica AVPlayerItemBecameCurrentNotification
. Questo non sembra essere inviato da WKWebView. L'ascolto della notifica UIWindowDidBecomeVisibleNotification
non funziona perché è attivato per tutte le finestre aggiunte (incluse le reti pubblicitarie)WKWebView Media Player rilevamento schermo intero
In conclusione, ci ho lavorato tutta la notte e non riesco a capire come determinare se un video è stato aperto a schermo intero con un WKWebView. Qualsiasi aiuto sarebbe apprezzato.
Modifica: per confermare, ho creato un progetto vuoto. Aggiunto un UIWebView e il listener AVPlayerItemBecameCurrentNotification
ad esso e si è attivato quando ho riprodotto un video ed è entrato a pieno schermo. Ho cambiato UIWebView in WKWebView e questa notifica non è più stata attivata.
Il migliore che ho trovato è stato il 'UIWindowDidBecomeKeyNotification' per determinare quando un altro finestra prese il sopravvento. Questo, per fortuna, non ha funzionato quando è stato creato il mio banner pubblicitario. Quindi ho impostato una variabile 'windowBecameKey' e l'ho testata su' UIWindowDidBecomeHiddenNotification'. L'unico singhiozzo che ho visto potrebbe rendere un po 'fragile questo dato che "UIWindowDidBecomeKeyNotification" si attiva nuovamente appena prima che la finestra a schermo intero si nasconda. Se, per qualche ragione, spara in seguito, probabilmente romperà le cose. –