2015-05-26 236 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