iOS开发iOS DeveloperSwift&Objective-C

LEEAlert的使用

2016-04-16  本文已影响3254人  与伟大LEE同行

前言

日常开发中 我们经常会用到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();

特性

使用方法

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

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

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

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

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

结语

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

上一篇下一篇

猜你喜欢

热点阅读