2014-05-08 3 views
8

Wenn ich einen UIWebView mit mediaPlaybackRequiresUserAction = YES haben, dann eine neue UIWebView später in meiner app erstellen und mediaPlaybackRequiresUserAction = NO darauf, es ändert sich auch der Wert dieser Eigenschaft auf der ersten Instanz.- [UIWebView setMediaPlaybackRequiresUserAction:] wirkt sich auf alle Fälle

z.B. Ich habe eine UIWebView und dann eine zweite UIWebView modal (für eine Anzeige), die Änderung mediaPlaybackRequiresUserAction auf dem modalen WebView wirkt sich auf die präsentierende UIWebView.

Irgendwelche Ideen, warum das ist? Werden UIWebViews alle von einer einzigen Instanz unterstützt?

Link zum Beispielprojekt here.

+0

Eine Webansicht sollte ein eindeutiges Objekt sein - können Sie bestätigen, dass es sich um zwei separate Instanzen handelt? Ein weiterer potenzieller Fallstrick ist das Platzieren einer Webansicht in einer Bildlaufansicht. Wenn die zweite Webansicht in die erste eingefügt wird, würde ich seltsame Dinge erwarten. –

+0

@AaronVegh Ja, das sind zwei Instanzen. Ich präsentiere das zweite Modal, und wenn ich sie po mache, sind sie anders. Ich werde meine Frage aktualisieren, um zu einem Beispielprojekt zu gelangen. – Senior

+0

Mit Blick auf den Code und die Dokumente scheint es sich um ein HTML5-Problem zu handeln. Beachten Sie, dass sich die Dokumentation speziell auf die Fähigkeit der Medienwiedergabe bezieht, die eine Benutzeraktion erfordert, siehe HTML5-Video. Ihr HTML-Code verwendet nicht das Element HTML5

Antwort

0

nicht sicher, dass Ihr App Zweck, nur versuchen, auf diese Weise:

- (IBAction)unwind:(UIStoryboardSegue *)unwindSegue 
{ 
    [self TS_updateLabel]; 

     [[self webView] setMediaPlaybackRequiresUserAction:YES]; 

     [self TS_reloadWebView]; 
} 

....

in Verfahren TS_reloadWebView

if (self.webView.isLoading) { 
     [self.webView stopLoading]; 

    } 
    [self.webView loadHTMLString:htmlString baseURL:baseURL]; 

Ich denke, es auch UIWebView Bug ist ... Aber jetzt kann dieser Weg vielleicht dein Problem lösen.