【问题标题】:UIAlertController - Override ActionSheet by default?UIAlertController - 默认情况下覆盖 ActionSheet?
【发布时间】:2014-12-12 12:09:41
【问题描述】:

我在我的 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。

谢谢!

【问题讨论】:

    标签: ios swift ios8 uialertcontroller


    【解决方案1】:

    是的,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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 2021-07-14
      • 2019-11-20
      • 1970-01-01
      • 2012-02-29
      • 2019-11-16
      • 1970-01-01
      相关资源
      最近更新 更多