UIAlertView is Not Working in Swift

后端 未结 4 1722
执笔经年
执笔经年 2020-12-10 00:09

when i runt this code in swift, i dont know why the app terminates by showing a break point in the \"alertView.show()\" part, Somebody please help me.

var al         


        
相关标签:
4条回答
  • 2020-12-10 00:22

    Use following way :

    var altMessage = UIAlertController(title: "Warning", message: "This is Alert Message", preferredStyle: UIAlertControllerStyle.Alert)
    altMessage.addAction(UIAlertAction(title: "Done", style: UIAlertActionStyle.Default, handler: nil))
    self.presentViewController(altMessage, animated: true, completion: nil)
    
    0 讨论(0)
  • 2020-12-10 00:26

    From Xcode 6.0 UIAlertView class:

    UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead.

    On swift ( iOS 8 and OS X 10.10 ), you can do this:

    var alert = UIAlertController(title: "Alert Title", message: "Alert Message", preferredStyle: UIAlertControllerStyle.Alert)
            alert.addAction(UIAlertAction(title: "Close", style: UIAlertActionStyle.Cancel, handler:handleCancel))
            alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler:{ (ACTION :UIAlertAction!)in
                    println("User click Ok button")
                }))
            self.presentViewController(alert, animated: true, completion: nil)
    
    func handleCancel(alertView: UIAlertAction!)
            {
                println("User click cancel button")
            }
    

    If you want to use in 'ActionSheet' instead 'Alert' you need only to change the UIAlertControllerStyle for example:

    var alert = UIAlertController(title: "Alert Title", message: "Alert Message", preferredStyle: UIAlertControllerStyle.ActionSheet)
    
    0 讨论(0)
  • 2020-12-10 00:28

    UIAlertView is deprecated in iOS 8, But Swift supports iOS7 and you can not use UIAlertController on iOS 7. Add the following method to solve the issue :

    func showAlert(title:NSString, message:NSString,owner:UIViewController) {
        if let gotModernAlert: AnyClass = NSClassFromString("UIAlertController") {
            var alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
            alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
            owner.presentViewController(alert, animated: true, completion: nil)
        }
        else {
            let alertView = UIAlertView(title: title, message: message, delegate: self, cancelButtonTitle: "Cancel", otherButtonTitles: "OK")
            alertView.alertViewStyle = .Default
            alertView.show()
        }
    }
    

    and call the method anywhere from the code like this :

    showAlert(APP_NAME,message: "Add your alert message here" ,owner: self)
    
    0 讨论(0)
  • 2020-12-10 00:40

    the best way for me is...

    class ViewController: UIViewController, UIAlertViewDelegate {
    var allarme = UIAlertView(title: "Warning", message: "This is a best way to create a alarm message", delegate: self, cancelButtonTitle: "OK")
            allarme.show()
    

    remember to import on the class UIAlertViewDelegate

    0 讨论(0)
提交回复
热议问题