Reputation: 361
How do Create UIwebview
reload + goback/forward
button programmatically.
How do i call the following functions
func reload()
func goBack()
func goForward()
updated current code :
import UIKit
class webviewViewController: UIViewController {
@IBOutlet var webview: UIWebView!
@IBAction func reload(sender: UIBarButtonItem) {
webview.reload()
}
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL (string: "http://www.google.com");
let requestObj = NSURLRequest(URL: url!);
webview.loadRequest(requestObj);
}
}
Upvotes: 4
Views: 9032
Reputation: 109
create a UI webview with back,forward,reload,stop button
class ViewController: UIViewController {
@IBOutlet weak var webview1: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://www.google.co.in")
let requestobj = URLRequest(url:url!)
webview1.loadRequest(requestobj)
}
@IBAction func back_btn(_ sender: Any) {
self.webview1.goBack()
}
@IBAction func forward_btn(_ sender: Any) {
self.webview1.goForward()
}
@IBAction func reload_btn(_ sender: Any) {
self.webview1.reload()
}
@IBAction func stop_btn(_ sender: Any) {
self.webview1.stopLoading()
}
}
Upvotes: 0
Reputation: 507
According to the Apple Documentation for WebView (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/)
You can just connect the respective button outlets like this :
@IBAction func goBack(sender: AnyObject) {
self.webView.goBack()
}
@IBAction func reload(sender: AnyObject) {
self.webView.reload()
}
@IBAction func forward(sender: AnyObject) {
self.webView.goForward()
}
Do also check that canGoBack and canGoForward are set to true (read-only).
If the buttons are also created programmatically, you can add selector such as Selector("goBack") and create a func goBack() {}
For ObjectiveC you can do it like this:
- (IBAction)browserGoBack
{
[self.webView goBack];
}
- (IBAction)browserGoForward
{
[self.webView goForward];
}
- (IBAction)browserRefresh
{
[self.webView reload];
}
Upvotes: 4
Reputation: 495
You can do some additional check on button action:
@IBAction func barBackButtonAction(sender: AnyObject) {
if webView.canGoBack {
webView.goBack()
}
}
@IBAction func barForwardButtonAction(sender: AnyObject) {
if webView.canGoForward{
webView.goForward()
}
}
Upvotes: 2
Reputation: 361
Here is answer
@IBAction func reload(sender: UIBarButtonItem) {
webview.reload()
}
@IBAction func back(sender: UIBarButtonItem) {
webview.goBack()
}
@IBAction func forward(sender: UIBarButtonItem) {
webview.goForward()
}
Upvotes: 2