Ich bin neu auf iPhone. Ich möchte die Schaltfläche Zurück (linke Pfeiltaste) und Vorwärts (rechte Pfeiltaste) auf UIToolBar in UIWebView deaktivieren. Nach dem Verschieben der Webseite wollen Sie die Zurück-Taste aktivieren und dann die Weiter-Taste aktivieren, wenn es nötig ist. In meiner App verwende ich die Toolbar auf der Unterseite über den Interface Builder. Bitte hilf mir!Deaktivieren Zurück und Weiter auf UIToolBar in UIWebview
Antwort
Senden Sie die folgende Meldung Objekt auf die Taste zum Aktivieren/Deaktivieren:
// Enable
[myButton setEnabled:YES];
// Disable
[myButton setEnabled:NO];
Um zu bestimmen, ob Sie diese Tasten zeigen sollten Sie sollten die folgenden Eigenschaften auf der Webansicht überprüfen:
[myWebView canGoBack];
[myWebView canGoForward];
Sie Ich möchte diese überprüfen, wenn der Benutzer eine Seite lädt. Um implementiere so die UIWebViewDelegate Methode webViewDidFinishLoad:
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
// Enable or disable back
[myBackButton setEnabled:[myWebView canGoBack]];
// Enable or disable forward
[myForwardButton setEnabled:[myWebView canGoForward]];
}
implementieren Nur in einem der Delegatmethode von WebView.
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
if ([webView canGoBack])
[backbutton setEnabled:YES];
else
[backbutton setEnabled:NO];
if ([webView canGoForward])
[fwdbutton setEnabled:YES];
else
[fwdbutton setEnabled:NO];
}
Anders als pheelicks beantworten, ich hatte die folgende Änderung vornehmen Taste zu deaktivieren, zurück, wenn Sie zurück zur ersten Seite und Vorwärtsknopf kommt beim letzten Seite.
Ein Beobachter auf WebHistoryItemChangedNotification hinzugefügt.
Aktualisieren von Schaltflächenstatus in webViewHistoryDidChange.
- (void)webViewHistoryDidChange
{
if ([theWebView canGoBack])
{
self.backButton.enabled = YES;
}
else
{
self.backButton.enabled = NO;
}
if ([theWebView canGoForward])
{
self.forwardButton.enabled = YES;
}
else
{
self.forwardButton.enabled = NO;
}
}
Siehe: Same is answered here
A zwei Liner Lösung für Swift:
func webViewDidFinishLoad(_ webView: UIWebView) {
btnBack.isEnabled = webView.canGoBack
btnForward.isEnabled = webView.canGoForward
}
Vielen Dank, gelöst Code meine Fragen – Sivanathan