2015-05-26 245 views
-8

我有这个快速确认框,它在IOS 8中完美工作,但它不能在IOS 7中工作,我该如何解决它?UIAlert不能在IOS 7中工作(Swift)

这里是我的代码

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

阅读UIAlertController的文档。特别是“可用性”部分。它说“在iOS 8.0及更高版本中可用”,它的含义正是它所说的。 – Fogmeister

+3

你是什么意思不工作? UIAlertController是在iOS8中引入的。对于早期版本,如文档中所述,使用“UIActionSheet”或“UIAlertView”。 请注意,如果要在AppStore中发布,则不能执行“退出(0)”。 – Larme

+0

我没有看到'exit(0)'。这是iOS应用中的一个很大的问题。事实上,它可能会让你的应用程序被拒绝。用户不应该以这种方式退出应用程序。这就是主页按钮的用途。 – Fogmeister

回答

4

doc

供货情况在IOS 8.0及更高版本。

A UIAlertController对象向用户显示警报消息。这个 类替代UIActionSheetUIAlertView类,用于显示警报的 。在使用 动作和样式配置警报控制器后,使用 presentViewController:animated:completion:方法显示它。

所以对于早期版本的iOS,使用UIActionSheetUIAlertView(从你的榜样,UIAlertView)。

此外,如果您想在AppStore中发布,则无法退出应用程序,并且不会遵守Apple的指导原则。更多解释here