SCLAlertView使用介绍

Thank create SCLAlertView to the people.

Thank  this message.

SCLAlertView is OC write.

Click download my demo.

出自:https://github.com/dogo/SCLAlertView

基本介绍:

Success  对勾 绿色
Error,   错误 红色
Notice,  通知 手指 灰色
Warning, 警告 黄色
Info,    感叹号 蓝色
Edit,    编译 紫色
Waiting, 等待 紫色  (显示有点问题)
Question, 问题 灰色
Custom   自定义
        // 背景状态
        alert.backgroundType = .Blur;
        
        /*
         
         Shadow 背景不模糊
         Blur   背景模糊
         Transparent 背景不变

         */
        
        // 出现样式
        alert.showAnimationType = .FadeIn;

        // 离开样式
        alert.hideAnimationType = .SlideOutToRight;
        
        /*

         FadeIn,            淡淡出现
         SlideInFromBottom, 从下面弹出
         SlideInFromTop,    从上面弹出
         SlideInFromLeft,   左
         SlideInFromRight,  右
         SlideInFromCenter, 从中间弹出 大 -> 小
         SlideInToCenter,   从中间弹出 小 -> 大
         SimplyAppear       直接出现 生硬
         
         */

duration参数传0.表示弹框持续时间无限.

let alert = SCLAlertView(newWindow: ()); 这个方法创建出来的不需要传控制器

title显示长度只有一行,

subtitle自动换行

        // 点击默认按钮调用block
        alert .alertIsDismissed { 
            
            print("dismiss");
            
        }

        // 添加一个按钮 点击这个按钮调用block
        alert.addButton("新增的按钮") {
 
        }

情景零:按钮属性和主题颜色

设置二个按钮属性

修改主题颜色.

        // 主题颜色
        customViewColor = UIColor.init(red: 0.550, green: 0.723, blue: 1.000, alpha: 1.000);

代码下载:https://pan.baidu.com/s/1miEW8Og

 

情景一:手指灰色弹框

160319_No7N_2613440.png

    // MARK: 手指灰色弹框 一个按钮
    private func test1() {
        
        let alert = SCLAlertView();

        alert.alertIsDismissed { 
            
            print("点击了默认按钮");
        }
        
        // 0 表示无限 时间
        alert.showNotice(self, title: "title", subTitle: "subTitle", closeButtonTitle: "确定", duration: 0);
    }

情景二:旋转紫色弹框

    // MARK: 旋转动画弹框 默认从上往下 
    private func test2() {
        
        let alert = SCLAlertView();
        
        // 背景状态 不模糊
        alert.backgroundType = .Shadow;
        
        alert.showWaiting(self, title: "title", subTitle: "subTitle", closeButtonTitle: "确定", duration: 0);

    }

注意:这里设置了背景状态为不模糊,请和上面对比.

 

情景三:黄色感叹号弹框

    // MARK: 黄色感叹号弹框
    private func test3() {
        
        let alert = SCLAlertView();
        
        // 背景状态 透明
        alert.backgroundType = .Transparent;
        
        // 感叹号 黄色
        alert.showWarning(self, title: "title", subTitle: "subTitle", closeButtonTitle: "确定", duration: 0);
   
    }

情景四:蓝色感叹号弹框

    // MARK: 蓝色感叹号
    private func test4() {
        
        let alert = SCLAlertView();
        
        alert .showInfo(self, title: "title", subTitle: "subTitle", closeButtonTitle: "确定", duration: 0);
 
    }

情景五:紫色输入框

    // MARK: 紫色输入框
    private func test5() {
        
        let alert = SCLAlertView();
        
        let tempTextField = alert  .addTextField("输入点什么");
        
        // 增加一个按钮
        alert.addButton("确定") {
            // A
            print("点击了确定,输入的是\(tempTextField.text)");
        }
        
        // 点击了默认按钮
        alert .alertIsDismissed {
            // B
            print("点击了取消");
            
        }
        
        alert .showEdit(self, title: "title", subTitle: "subTitle", closeButtonTitle: "取消", duration: 0);
 
    }

点击了确定会先调用A然后调用B

情景六:红色错误❌弹框

    // MARK: 红色错误❌弹框
    private func test6() {
        
        let alert = SCLAlertView();
        
        alert.showError(self, title: "title", subTitle: "这是一个错误的操作. Blah de blah de blah, blah. Blah de blah de blah, blah.Blah de blah de blah, blah.Blah de blah de blah, blah.Blah de blah de blah, blah.Blah de blah de blah, blah.Blah de blah de blah, blah. Blah de blah de blah, blah.Blah de blah de blah, blah.Blah de blah de blah, blah.Blah de blah de blah, blah.Blah de blah de blah, blah", closeButtonTitle: "OK", duration: 0);
 
    }

 

情景七:灰色错误弹框

    // MARK:
    // MARK: 灰色错误❌弹框
    private func test7() {
        
        let alert = SCLAlertView();
  
        alert.showQuestion(self, title: "Question?", subTitle: "answer", closeButtonTitle: "Dismiss", duration: 0);
 
    }

 

情景八:倒计时数秒

    // MARK: 添加倒计时 数秒
    private func test8() {
        
        let alert = SCLAlertView();
  
        // 给哪个 索引 的按钮添加 倒计时数字
        alert.addTimerToButtonIndex(0, reverse: true);
        
        alert.showInfo(self, title: "codeIsMyGirl", subTitle: "倒计时开始~", closeButtonTitle: "剩余时间-->", duration: 3);
 
    }

 

情景九:紫色输入弹框 (按钮横向排列)

    // MARK: 紫色输入弹框 (按钮横向排列)
    private func test9() {
        
        let alert = SCLAlertView();
        
        // 按钮横向排列
        alert.horizontalButtons = true;
        
        let tempTextField = alert.addTextField("请输入点什么~");
        
        alert.addButton("show") { 
            
            print("value->\(tempTextField.text)");
            
        }
        
        alert.alertIsDismissed { 
            
            print("点击了默认按钮");
            
        }
        
        alert.showEdit(self, title: "title", subTitle: "subTitle", closeButtonTitle: "取消", duration: 0);
 
    }

 

情景十:自定义

    // MARK: 自定义
    private func test10() {
        
        let alert = SCLAlertView();
        
        let colorXN = UIColor.init(red: 0.251, green: 0.345, blue: 0.439, alpha: 1);
        
        //[UIColor colorWithRed:0.251 green:0.345 blue:0.439 alpha:1.000];
        
        let imageXN = UIImage.init(named: "i");
        
        // 自定义图片 和 颜色 (按钮颜色是白色的)
        alert.showCustom(self, image: imageXN, color: colorXN, title: "Custom", subTitle: "添加一个自定义图标和颜色为您自己的类型的警报!", closeButtonTitle: "确定", duration: 0);
 
 
    }

 

情景十一:综合 (设置默认按钮属性)

    // MARK: 综合
    private func test11() {
        
        let alert = SCLAlertView();
        
        // 水平 显示按钮
        alert.horizontalButtons = true;
 
        // 颜色
//        alert.backgroundViewColor = UIColor.init(red: 1.000, green: 0.744, blue: 0.434, alpha: 1.000);
        
        //[UIColor colorWithRed:1.000 green:0.744 blue:0.434 alpha:1.000];
        
        // title 文字 和大小
        alert.setTitleFontFamily("Superclarendon", withSize: 20);
        
        // 占位符 字体 和大小
        alert.setBodyTextFontFamily("TrebuchetMS", withSize: 14);
        
        // 按钮 字体 和大小
        alert.setButtonsTextFontFamily("Baskerville", withSize: 14);
 
        alert.addButton("第一", target: self, selector: "firstButton");
 
        alert.addButton("第二") {
            
            print("secound button tapped");
        }
 
        let textFieldXN = alert.addTextField("输入点什么~");
        
        alert.addButton("第三") {
            
            print("value:\(textFieldXN.text)");
        }
        
        
        // 默认按钮属性设置
        alert.completeButtonFormatBlock = { () in
            
            let dictM = NSMutableDictionary();
            
            // 默认按钮 的背景色
            dictM["backgroundColor"] = UIColor.yellowColor();
            
            // 边框 描边颜色
            //dictM["borderColor"] = UIColor.blackColor();
            
            // 边框 宽度
            //dictM["borderWidth"] = 1;
            
            // 字体颜色
            dictM["textColor"] = UIColor.blackColor();
  
            return dictM as [NSObject : AnyObject];
        }
        
//        alert.attributedFormatBlock = { (sender) -> NSAttributedString in
//            
//            let subTitle = NSMutableAttributedString(string: sender);
//     
//            return subTitle;
//        }
   
        alert.showTitle(self, title: "恭喜", subTitle:
            "你是最棒的", style: .Success, closeButtonTitle: "最后", duration: 0);
        
        /*
         Success  对勾 绿色
         Error,   错误 红色
         Notice,  通知 手指 灰色
         Warning, 警告 黄色
         Info,    感叹号 蓝色
         Edit,    编译 紫色
         Waiting, 等待 紫色  (显示有点问题)
         Question, 问题 灰色
         Custom   自定义
         
         
         */
 
 
    }
    
    // MARK:
    // MARK: 旋转等待弹框
    @objc private func firstButton() {
        
 
 
    }

alert.horizontalButtons = true; 设置按钮水平显示

情景十二:设置按钮属性

   

    private func test12() {
        
        let alert = SCLAlertView(newWindow: ());
        
        let button = alert.addButton("1", target: self, selector: nil);
  
        // 默认按钮属性设置
        button.buttonFormatBlock = { () in
            
            let dictM = NSMutableDictionary();
            
            // 默认按钮 的背景色
            dictM["backgroundColor"] = UIColor.whiteColor();
            
            // 边框 描边颜色
            dictM["borderColor"] = UIColor.yellowColor();
            
            // 边框 宽度
            dictM["borderWidth"] = 2;
            
            // 字体颜色
            dictM["textColor"] = UIColor.blackColor();
            
            return dictM as [NSObject : AnyObject];
        }
        
        alert.addButton("2") {
            
            print("点击了 按钮 2");
            
        }
 
        
        alert.showSuccess("title", subTitle: "subTitle", closeButtonTitle: "确定", duration: 0);
     
    }

 

情景十三:二个textField

    // MARK: 二个textField
    private func test13() {

        let alert = SCLAlertView();
        
        alert.horizontalButtons = true;
        
        let evenField = alert.addTextField("第一行占位符");
 
        let oddField = alert.addTextField("第二行占位符");
  
        alert.addButton("按钮一", validationBlock: { () -> Bool in
            
            
            if evenField.text?.characters.count == 0 {
                
                UIAlertView.init(title: "哎呦~", message: "你忘记输入了", delegate: nil, cancelButtonTitle: "OK").show();
                
                //, otherButtonTitles: nil
                
                // 辞去第一响应
                evenField.becomeFirstResponder();
                
                return false;
            }
            
            
            if oddField.text?.characters.count == 0 {
                
                UIAlertView.init(title: "哎呦~", message: "你忘记输入了 第二个textField", delegate: nil, cancelButtonTitle: "OK").show();
                
                //, otherButtonTitles: nil
                
                // 辞去第一响应
                oddField.becomeFirstResponder();
                
                return false;
                
            }
            
            return true;
            
            }) { 
              
              UIAlertView.init(title: "哎呦,不错", message: "干得漂亮", delegate: nil, cancelButtonTitle: "OK").show();
                
        };
        
        alert.showEdit(self, title: "验证", subTitle: "确保~", closeButtonTitle: "按钮二", duration: 0);
 
    }

 

情景十四:自定义.图标使用"模具"

    @objc private func clickFirstButton() {
        
        
        
    }
    
    
    // MARK: 二个textField
    private func test15() {

        let alert = SCLAlertView(newWindow: ());
 
        alert.tintTopCircle = false;
        
        alert.iconTintColor = UIColor.brownColor();
        
        // 使用大图标
        alert.useLargerIcon = true;
        
        alert.cornerRadius = 13;
 
        alert.addSwitchViewWithLabel("不在显示");
        
        SCLSwitchView.appearance().tintColor = UIColor.brownColor();
 
        let button = alert.addButton("确定", target: self, selector: "clickFirstButton");
        
        button.buttonFormatBlock = { () in
            
            let dictM = NSMutableDictionary();
            
            // 圆角半径
            dictM["cornerRadius"] = "17.5";
            
            // 默认按钮 的背景色
//            dictM["backgroundColor"] = UIColor.yellowColor();
//            
//            // 边框 描边颜色
//            //dictM["borderColor"] = UIColor.blackColor();
//            
//            // 边框 宽度
//            //dictM["borderWidth"] = 1;
//            
//            // 字体颜色
//            dictM["textColor"] = UIColor.blackColor();
            
            return dictM as [NSObject : AnyObject];
        }
 
        // 图片"模具"
        let imageXN = UIImage.init(named: "switch")
        
        let colorXN = UIColor.brownColor();
        
        alert.showCustom(self, image: imageXN, color: colorXN, title: "title", subTitle: "subTitle", closeButtonTitle: nil, duration: 0);
 
    
    }

 

转载于:https://my.oschina.net/codeismygirl/blog/739907

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值