用于在同一webView中加载不同页面的按钮

时间:2015-03-14 18:53:52

标签: xcode swift uiwebview

按下视图控制器中的按钮后,我有一个webview加载本地HTML页面。如何在webview下放置一个按钮以在同一Web视图中加载不同的内容? ViewController没有额外的代码输入只是故事板中的一个按钮,当前的模态segue到webView控制器 webView具有以下代码。

//
//  WebViewer.swift
//  TestWebView
//
//  Created by Colin McGarry on 13/03/15.
//  Copyright (c) 2015 Colin McGarry. All rights reserved.
//

import UIKit

class WebViewer: UIViewController {

var page = "2page"

@IBOutlet weak var webView: UIWebView!


@IBAction func close(sender: AnyObject) {
 println(sender.tag)
dismissViewControllerAnimated(true, completion: nil)
}

@IBAction func reLoad(sender: AnyObject) {
 println(sender.tag)
page = "1page"
 webView!.reload()
}
override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

  if let htmlFile = NSBundle.mainBundle().pathForResource(page, ofType: "html"){
    let htmlData = NSData(contentsOfFile: htmlFile)
    let baseURL = NSURL.fileURLWithPath(NSBundle.mainBundle().bundlePath)
    webView.loadData(htmlData, MIMEType: "text/html", textEncodingName: "UTF-8", baseURL: baseURL)
  }

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
}
*/

}

在webView下我放置了两个按钮,一个用于关闭并返回到视图控制器,另一个我想在此视图中重新加载不同的网页。 我尝试使用重新加载按钮的sender.tag的if语句,但它无法识别。来自第一个viewController

的segue标识符也不是

1 个答案:

答案 0 :(得分:0)

我从未回答的问题中找到了解决方案。

我将reload()函数更改为。

@IBAction func reLoad(sender: AnyObject) {
println(sender.tag)
page = "1page"

if let htmlFile = NSBundle.mainBundle().pathForResource(page, ofType: "html"){
let htmlData = NSData(contentsOfFile: htmlFile)
let baseURL = NSURL.fileURLWithPath(NSBundle.mainBundle().bundlePath)
webView.loadData(htmlData, MIMEType: "text/html", textEncodingName: "UTF-8", baseURL: baseURL)
}

}

我认为将重复的代码放在函数中并且每次都调用它可能会更好。