UIAlertController - 默认覆盖ActionSheet?

时间:2014-10-17 00:23:26

标签: ios swift ios8 uialertcontroller

我在我的iOS应用程序中使用UIAlertController;但是,为了保存自己一个重复的代码行,我想在if / else分支之前初始化UIAlertController。即。

var alertController = UIAlertController()

if /* something */ {
    alert.title = "Hello!"
} else {
    alert.title = "Goodbye!"
}

//yada yada actions yada yada

self.presentViewController(alert)

然而,虽然我发现事后可以轻松设置标题和信息,但我似乎无法找到设置风格的方法。默认情况下它似乎使用ActionSheet,但我真的想要一个警报。我尝试更改preferredStyle属性,但它似乎是只读的。有没有办法改变风格?对于它的价值,我使用最新的iOS 8 SDK并使用Swift。

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,preferredStyle只能在初始化时设置。

您可以尝试这样的事情:

var alertController = UIAlertController(title: "", message: "", preferredStyle: .Alert)

if /* something */ {
    alert.title = "Hello!"
} else {
    alert.title = "Goodbye!"
}

//yada yada actions yada yada

self.presentViewController(alert)