LEEAlert的使用

作者: 与伟大LEE同行 | 来源:发表于2016-04-16 12:02 被阅读3254次

    前言

    日常开发中 我们经常会用到Alert或ActionSheet来与用户进行交互 , 然而系统提供的Alert其使用方法过于繁琐 , 并且由于iOS系统版本的不同 其样式的细节也各不相同 , 有时应产品要求 我们必须封装一个新的Alert或ActionSheet来满足样式的统一性 , 这无疑又增加了更多的代码编写 .

    用最简单的方式来解决一堆繁琐的问题 这是我们每个Coder一生的向往 , 那么下面我为大家介绍一下我的开源库 LEEAlert

    LEEAlert

    什么是LEEAlert ? 它是一个极大简化了Alert和ActionSheet显示的开源库 , 采用的链式语法封装 轻松将长篇大论的代码缩减至短短几行 , 完美的适配iOS8以上系统版本 , 拥有强大的自定义特性 , 可以完成大部分使用者的个性自定义需求.

    下面是一个基本的系统的Alert , 包含了标题和内容以及两个按钮 , 如果是使用UIAlertView 那么加上delegate的方法 基本上都是几十行的代码 才能完成一个Alert的弹出.

        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"标题" message:@"内容" preferredStyle:UIAlertControllerStyleAlert];
        
        UIAlertAction *actionA = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            
            // 点击事件Block
        }];
        
        UIAlertAction *actionB = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
            
            // 点击事件Block
        }];
        
        [alertController addAction:actionA];
        
        [alertController addAction:actionB];
        
        [self presentViewController:alertController animated:YES completion:nil];
    

    下面是使用LEEAlert来实现一个和上面相同效果的Alert ( 其实仅一行代码 为了提高可读性 增加了换行 ) :

        [LEEAlert alert].config
        .LeeTitle(@"标题")
        .LeeContent(@"内容")
        .LeeCancelAction(@"取消", ^{                
            // 取消点击事件Block
        })
        .LeeAction(@"确认", ^{
            // 确认点击事件Block
        })
        .LeeShow();
    

    特性

    • 链式语法 结构优雅
    • 支持alert类型与actionsheet类型
    • 默认样式为Apple风格 可自定义其样式
    • 支持自定义标题与内容 可动态调整其样式
    • 支持自定义视图添加 同时可设置位置类型等 自定义视图size改变时会自动适应.
    • 支持输入框添加 自动处理键盘相关的细节
    • 支持屏幕旋转适应 同时可自定义横竖屏最大宽度和高度
    • 支持自定义action添加 可动态调整其样式
    • 支持内部添加的功能项的间距范围设置等
    • 支持圆角设置 支持阴影效果设置
    • 支持队列显示 多个同时显示时根据先后顺序排队弹出.
    • 支持两种背景样式 1.半透明 (支持自定义透明度比例和颜色) 2.毛玻璃 (支持效果类型)
    • 打开和关闭的动画时长均可自定义
    • 更多特性未来版本中将不断更新.

    使用方法

    简单介绍一下完整的组成结构

        [LEEAlert alert].config //初始化一个LEEAlert对象开始设置
        .LeeTitle(@"标题") //添加的设置 根据你的需要随意增减设置
        .XXXXXXXXXX() //其他的设置
        .LeeShow(); //最后设置后 在结尾调用 LeeShow() 来显示Alert
    

    ActionSheet与Alert基本一致 不过初始化时要调用actionsheet方法:

        [LEEAlert actionsheet].config //调用actionshe方法
        .XXXXXXXXXX() //其他的设置
        .LeeShow(); //开始显示
    

    如果你感兴趣 更多的使用方法欢迎前往GitHub查看

    结语

    在我的概念中 开发其中业务逻辑的代码所占的比重是最大的 , 其余的辅助代码则应该尽可能的去简化 , 因为过多的辅助代码会干扰你理解逻辑 , 也会使你的代码显得繁琐复杂 , 所以我们应该尽可能的去简化它们 , 对于一个简简单单弹出Alert功能 就需要长篇大论几十行 , 这是我无法忍受的 ( 一名代码洁癖综合征晚期患者的自述 ) .

    相关文章

      网友评论

        本文标题:LEEAlert的使用

        本文链接:https://www.haomeiwen.com/subject/xlanlttx.html