Ich habe eine webView
, wo ich Refresh/Stop für einzelne Schaltfläche anzeigen müssen, die umgekehrt ändern müssen. Wenn der Benutzer klicken Sie auf Aktualisieren der Schaltfläche muss Stopp-Symbol anzeigen, bis die webView
beenden lädt und wieder anzeigen Symbol nach dem Laden der Ansicht anzeigen.Ich brauche und Ansatz, um es zu erstellen.So erstellen Sie eine Aktualisierung und stoppen für eine einzelne UIBarbutton
-3
A
Antwort
0
Sie können so etwas wie dies zuerst versuchen Sie nun eine Funktion wie diese
func setRefreshItem() {
button.frame = CGRectMake(0, 0, 18, 25)
//Set backgroundImage in button for both state Normal and selected
button.setBackgroundImage(UIImage(named: "Refresh"), forState: UIControlState.Normal)
button.setBackgroundImage(UIImage(named: "Stop"), forState: UIControlState.Selected)
button.addTarget(self, action: #selector(self.refreshWebView(_:))",forControlEvents: UIControlEvents.TouchUpInside)
let rightItem:UIBarButtonItem = UIBarButtonItem(customView: button)
self.navigationItem.rightBarButtonItem = rightItem
}
eine globale Taste wie diese
var button: UIButton = UIButton()
erklären erstellen Jetzt refreshWebView
Methode in Ihrer viewController
func refreshWebView(sender: UIButton) {
if (sender.selected) {
self.webView.stopLoading()
}
else {
self.webView.reload()
}
sender.selected = !sender.selected
}
//Delegate method of webView
func webViewDidFinishLoad(webView : UIWebView) {
self.buttton.selected = false
}
hinzufügen
Rufen Sie auch setRefreshItem
in Ihrer viewDidLoad
1
Es gibt verschiedene Möglichkeiten, dies zu tun. Sie können eine andere Variable in Ihrem Viewcontroller namens „allowsRefresh“, erklären und dann, wenn Sie auf die Schaltfläche klicken, können Sie so etwas wie
@IBAction refreshOrStop(sender: AnyObject) {
if (allowsRefresh) {
// Do stuff that refreshes the webpage
} else {
// Do stuff that stops the refresh
}
allowsRefresh = !allowsRefresh
// Inverse itself. If it was true, change it false. If it was false, change it to true
}
Es gibt sicher bessere Namen als allowsRefresh tun, aber Sie erhalten den Punkt.
+0
danke für den Ansatz – Alex
Verwandte Themen
- 1. So erstellen Sie eine einzelne Spalte Inhalt-zuerst-Layout
- 2. So stoppen Sie eine laufende MySQL-Abfrage
- 3. So sperren Sie eine einzelne Zeile
- 4. So stoppen Sie eine laufende TimerTask
- 5. So erstellen Sie eine Funktion für data.table
- 6. So aktivieren Sie ARC für eine einzelne Datei
- 7. So erhalten Sie die BigQuery-Speichergröße für eine einzelne Tabelle
- 8. So erstellen Sie eine Bibliothek
- 9. So erstellen Sie eine Berichtsbibliothek?
- 10. So erstellen Sie eine LIVE-CD für eine Anwendung
- 11. So erstellen Sie eine Ressourcenreferenz für eine JBoss-MBean
- 12. So erstellen Sie eine Testumgebung für eine Multithread-Anwendung
- 13. So erstellen Sie eine zentrale Benutzerdatenbank
- 14. Rails3 - So erstellen Sie eine Übermittlungsschaltfläche für eine verschachtelte Ressource
- 15. So erstellen Sie eine CheckedListBox-Spalte für eine DataGridView
- 16. So erstellen Sie eine Beendigungsnachricht
- 17. So erstellen Sie eine GMSPlace
- 18. So erstellen Sie eine Funktion
- 19. fügen Sie einen uibarbutton für ZBarReaderViewController
- 20. So erstellen Sie eine Auswahl für die Aktualisierung der Zeilensperre in Spring/OpenJPA 1
- 21. So erstellen Sie eine Tabbed-Schnittstelle für zwei verschiedene Webanwendungen, die als einzelne Seite angezeigt werden
- 22. Netstat für eine einzelne Verbindung?
- 23. Sollte ich eine einzelne Datei App erstellen?
- 24. So stoppen Sie NSTimer
- 25. So stoppen Sie eine Wireshark-Erfassung mit dem Befehl tshark
- 26. So erstellen Sie eine Gruppierungsdimension mit mdx
- 27. Erstellen Sie eine app.config für eine Assembly
- 28. So erstellen Sie eine Emoticon-Tastatur
- 29. So erstellen Sie eine E-Mail-Verteilerliste
- 30. So erstellen Sie eine transparente UIWebView
Danke für die Detail Erklärung – Alex
Willkommen Kumpel :) –