初始化后更改按钮标题

时间:2015-09-02 00:14:47

标签: ios swift uibutton

我从github - DOAlertController下载了自定义alertView。我按照正确的步骤创建了alertView。这就是我所拥有的:

let alertController = DOAlertController(title: "title", message: "message", preferredStyle: .Alert)

var okAction = DOAlertAction!
self.okAction = DOAlertAction(title: "OK" style: .Default) { action in
    self.okAction.title = "myTitle"
    println(self.okAction.Title)
}

点击okAction后,我想更改其标题。我试过了,它并没有改变。但是println日志myTitle

如何在以后更改buttons标题?

1 个答案:

答案 0 :(得分:0)

看起来标签的文字设置在the layoutView() method

func layoutView() {
    if (layoutFlg) { return }
    layoutFlg = true

    // snip

    let hasTitle: Bool = title != nil && title != ""

    // snip

    if (hasTitle) {
        // snip
        titleLabel.text = title
        // snip
    }

    // snip
}

因此,您可以自己设置titleLabel.text或将layoutFlg设置为false并再次致电layoutView()。但是,这两个变量都声明为private,因此您需要删除该声明才能更改它们。

第三种选择是在didSet变量上创建title块。这样的事情应该有效:

var title: String {
    didSet {
        titleLabel.text = title
    }
}