【问题标题】:Swift - Switch multiple local html files in the same webview with Segmented controlSwift - 使用分段控制在同一个 web 视图中切换多个本地 html 文件
【发布时间】:2015-03-23 07:24:20
【问题描述】:

我的视图控制器中有一个 webview。如何使用分段控件在此 web 视图中的 3 个本地 html 文件之间切换?

我在 webview 中加载 1 个 html 本地文件的代码是:

@IBOutlet weak var WebView: UIWebView!

func loadAddressURL() {
  let requestURL = NSBundle.mainBundle().URLForResource("page1", withExtension: "html")
  let request = NSURLRequest(URL: requestURL!)
  WebView.loadRequest(request)
}

【问题讨论】:

    标签: xcode swift xcode6


    【解决方案1】:

    您需要创建一个分段控件,分为三个部分,如图所示:

    完成后,将操作连接到您的 VC 并使用以下代码:

    import UIKit
    
    class ViewController: UIViewController {
    
        // ...
    
        @IBAction func segmentedControlChanged(sender: AnyObject) {
            let segmentedControl = sender as UISegmentedControl
    
            var url = ""
            switch segmentedControl.selectedSegmentIndex {
            case 0:
                url = "page1"
            case 1:
                url = "page2"
            case 3:
                url = "page3"
            default:
                url = "defaultPage"
            }
    
            loadAddressURL(url)
        }
    
        func loadAddressURL(page: String) {
            let requestURL = NSBundle.mainBundle().URLForResource(page, withExtension: "html")
            let request = NSURLRequest(URL: requestURL!)
            WebView.loadRequest(request)
        }
    }
    

    【讨论】:

    • 我试图保存用户的选择,就像这个视频:youtube.com/watch?v=v3gwIhLyyMo 代码:github.com/awseeley/… 但在我的情况下,我不知道应该插入什么: override func viewDidLoad() ,任何帮助请 ? @DiegoFreniche
    • 如果这是你遇到的不同问题(在这种情况下保存 NSUserDefaults),首先搜索 SO,这些问题已经得到了无数次的回答。如果您没有找到合适的问题,请发布问题
    【解决方案2】:

    分段控件在分段更改时会发生UIControlEventValueChanged 事件。您可以在此处为用户点击新段时设置一个操作,检查当前选定的索引,然后更新 Web 视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 2012-03-13
      • 2014-01-01
      • 2015-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多