2014-10-17 150 views
0

我在我的iOS应用程序中使用UIAlertController;然而,为了保存自己的重复代码行,我想在if/else分支之前初始化UIAlertController。即UIAlertController - 默认覆盖ActionSheet?

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。

谢谢!

回答

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) 
+0

辉煌变通。谢谢! – 2014-10-18 18:47:07