我从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
标题?
答案 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
}
}