自定义弹出框Alter

原理就是创建一个透明的UIViewController

demo中是重新创建了一个storyboard,里面有一个自定义的UIViewController命名为:EasyAlert

class EasyAlert: UIViewController {
    
    static var ins:EasyAlert!

    override func viewDidLoad() {
        super.viewDidLoad()
        
      
        
    }
    
    static var instance:EasyAlert{
        get{
            if(ins == nil){
                
                 let sb = UIStoryboard(name: "Alert", bundle: nil)
                 ins = sb.instantiateViewControllerWithIdentifier("EasyAlert") as! EasyAlert
                 ins.view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.3)
                 ins.modalPresentationStyle = .Custom
                 //inc.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext;
                 ins.modalPresentationStyle = .Custom
                
            }
            return ins
        }
    }
    
    @IBAction func close(sender: AnyObject) {
        
        dismissViewControllerAnimated(true, completion: {
            ()->Void in
            
            
        })
    }
    
    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
    }
    
    
}

  在需要弹出框的时候,启动创建的storyboard:

  @IBAction func showAlert(sender: AnyObject) {
        
        var alert = EasyAlert.instance
      
       presentViewController(alert, animated: true, completion: nil)
    }

 

效果: 

 

 

posted @ 2016-01-20 14:40  mogul  阅读(2832)  评论(0编辑  收藏  举报