【问题标题】:UIAlert does not work in IOS 7 (Swift)UIAlert 在 IOS 7 (Swift) 中不起作用
【发布时间】:2015-08-08 07:59:16
【问题描述】:

我在swift中有这个警报确认框,它在IOS 8中完美运行,但在IOS 7中不起作用,请问我该如何解决?

这是我的代码

 var refreshAlert = UIAlertController(title: "Cerrando la aplicacion!", message: "Seguro que desea Cerrar ?", preferredStyle: UIAlertControllerStyle.Alert)

    refreshAlert.addAction(UIAlertAction(title: "Si", style: .Default, handler: { (action: UIAlertAction!) in
        exit(0)
    }))
    refreshAlert.addAction(UIAlertAction(title: "No", style: .Default, handler: { (action: UIAlertAction!) in
        println("ho hace nada")
    }))
    presentViewController(refreshAlert, animated: true, completion: nil)

【问题讨论】:

  • 阅读 UIAlertController 的文档。特别是“可用性”部分。上面写着“在 iOS 8.0 及更高版本中可用”的意思正是它所说的。
  • 不工作是什么意思? UIAlertController 在 iOS8 中引入。对于早期版本,如文档中所述,请使用 UIActionSheetUIAlertView。请注意,如果您想在 AppStore 中发布,则不能执行“exit(0)”。
  • 我没有发现exit(0)。这是 iOS 应用程序中的一个大问题。事实上,它可能会让你的应用被拒绝。用户不应该以这种方式退出应用程序。这就是主页按钮的用途。

标签: xcode swift xcode5


【解决方案1】:

来自doc

可用性 适用于 iOS 8.0 及更高版本。

UIAlertController 对象向用户显示警告消息。这 类替换 UIActionSheetUIAlertView 类 显示警报。配置警报控制器后 您想要的动作和风格,使用 presentViewController:animated:completion: 方法。

因此,对于早期版本的 iOS,请使用 UIActionSheetUIAlertView(来自您的示例,UIAlertView)。

此外,如果您想在 AppStore 中发布,您不能使用 exit(0) 退出该应用程序,这不符合 Apple 的准则。更多解释here.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-01
    • 2013-10-19
    • 2013-09-16
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多