system21
system21

Reputation: 361

Create UIwebview reload + goback/forward button programmatically

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

Answers (4)

Faizal Nowshad KN
Faizal Nowshad KN

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

Lawrence Tan
Lawrence Tan

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

Amit Kumar Sahu
Amit Kumar Sahu

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

system21
system21

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

Related Questions