Warum ist UIWebView canGoBack = NO in iOS7?
Ich binde diese Website wie folgt in meine App ein:
NSString *url = [NSString stringWithFormat:@"https://mobile.twitter.com/search?q=%@", @"@test OR #test"];
url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[self.twitterWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
self.twitterWebView.scalesPageToFit = YES;
Und ich habe zwei Schaltflächen zum Vor- und Zurückblättern auf dieser Website. Ich rufe an
[self.twitterWebView goBack];
und[self.twitterWebView goForward];
entsprechend.
Dies funktioniert unter iOS 6 einwandfrei, aber unter iOS 7 sind die Eigenschaften canGoBack und canGoForward meiner Webansicht NEIN und daher funktionieren meine Schaltflächen "Zurück" und "Vorwärts" nicht.
Nebenbei bemerkt, wenn die App zum ersten Mal installiert und die Seite zum ersten Mal geladen wird, funktionieren meine Schaltflächen. Aber wenn ich meine App erneut starte und auf einen Link auf der Website tippe, gibt die canGoBack-Eigenschaft meiner Webansicht immer NEIN zurück.
Wie kann ich das lösen?
BEARBEITEN: Ich habe eine Mini-Test-App hochgeladen, die mein Problem demonstriert. Sie können es von herunterladenHier. Bitte führen Sie die App auf einem iOS 7-Simulator aus. Vergewissern Sie sich, dass die Schaltfläche "Zurück" bei der ersten Installation der App funktioniert. Beenden Sie dann die App, führen Sie sie erneut aus, und Sie werden feststellen, dass sie nicht mehr funktioniert.
Übrigens scheint das Problem bei der mobilen Website von Twitter zu liegen. Sie können es mit einer anderen Website-Adresse versuchen und diese sehen.