以编程方式更改UIButton文本并打开网址

时间:2016-02-12 03:04:06

标签: ios swift uibutton

我有一个UIButton作为动作。我想最终设置一个动态网址和一个动态文本(在视图加载,而不是点击)。

@IBAction func openUrl(sender: UIButton) {
    sender.setTitle("Hello World", forState: .Normal)
    UIApplication.sharedApplication().openURL(NSURL(string: "http://www.google.com")!)
}

上面的代码正常工作,但按钮标题只有在点击后才会变为“Hello World”。

enter image description here

3 个答案:

答案 0 :(得分:2)

覆盖viewDidLoad并在那里设置标题。此外,如果您还没有创建按钮的插座:

override func viewDidLoad() {
    super.viewDidLoad()

    yourButtonOutlet.setTitle("Hello World", forState: .Normal)
}

从IBAction中删除setTitle()行。

这将为控制器加载视图时设置按钮的标题。

答案 1 :(得分:1)

我认为您需要在AppDelegate中实现application(_:openURL:options:)。这是响应该URL打开的方法。您可能还希望使用canOpenURL:打开您的初始通话,以防止发生此错误。

答案 2 :(得分:1)

//在视图加载时更改按钮的标题:

.six.columns {
    float: left;
    width: 50%;
}

//对于开放链接:

override func viewDidLoad() {
    super.viewDidLoad()
    yourButtonOutlet.setTitle("Hello World", forState: .Normal)
}