【问题标题】:Loading multiple URL's with different buttons using one UIWebView -- iOS Swift使用一个 UIWebView 加载具有不同按钮的多个 URL - iOS Swift
【发布时间】:2015-08-11 17:42:22
【问题描述】:

我有一个带有按钮的 ViewController,我能够(通过 segue)将它与另一个包含 UIWebView 的 ViewController 链接起来。 当我单击按钮时,它会进入 ViewController 并加载我指定的网页。

这是我的 VC 中包含 UIWebView 的代码:

func displayURL ()
    {
    let myURLString = "http://google.com"
    let myURL = NSURL(string: myURLString)
    let myURLRequest = NSURLRequest(URL: myURL!)
    myWebView.loadRequest(myURLRequest)   
    }

    override func viewDidLoad() {
        super.viewDidLoad()

           displayURL ()
    }

我现在想添加多个按钮,这些按钮只使用一个 UIWebView 即可转到不同的网页,但我不知道该怎么做?

我试着在我做的地方做:

if segue.identifier = website1
{
load website1 
} else etc..

但无法让它工作。

目前,单击按钮只是进入下一个 VC,但我想我必须在按钮本身内声明它是哪个网站。

有没有办法做类似的事情:

if (button1 is clicked){
go to this website
}
else..

任何帮助将不胜感激!

【问题讨论】:

    标签: ios iphone xcode swift uiwebview


    【解决方案1】:

    您必须实现prepareForSegue 并执行以下操作:

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let websiteController = segue.destinationViewController as YourVCName
        if segue.identifier == "website1" {
            websiteController.urlWebsite = "google.com"
        } else if segue.identifier == "website2" {
            websiteController.urlWebsite = "stackoverflow.com"
        }
    }
    

    这个想法是在另一个 VC 中有一个名为 urlWebsite 的变量,并在 displayURL 中使用它

    【讨论】:

    • 首先,放置一个断点检查prepareForSegue是否按预期工作
    • 然后,您必须在第二类开始的地方创建一个名为 urlWebsite 的变量,并使用它而不是 let myURLString = "google.com"
    • 太棒了!弄明白了。谢谢!
    • 不客气! (接受答案会很棒:))
    • 完成!我确实不得不玩弄它,很多。使用 Switch 语句等,但弄清楚了。如果其他人想知道,一定要告诉我,我可以解释这个过程。
    猜你喜欢
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多