LEEAlert的使用

前言

日常開發(fā)中 我們經(jīng)常會用到Alert或ActionSheet來與用戶進(jìn)行交互 , 然而系統(tǒng)提供的Alert其使用方法過于繁瑣 , 并且由于iOS系統(tǒng)版本的不同 其樣式的細(xì)節(jié)也各不相同 , 有時應(yīng)產(chǎn)品要求 我們必須封裝一個新的Alert或ActionSheet來滿足樣式的統(tǒng)一性 , 這無疑又增加了更多的代碼編寫 .

用最簡單的方式來解決一堆繁瑣的問題 這是我們每個Coder一生的向往 , 那么下面我為大家介紹一下我的開源庫 LEEAlert

LEEAlert

什么是LEEAlert ? 它是一個極大簡化了Alert和ActionSheet顯示的開源庫 , 采用的鏈?zhǔn)秸Z法封裝 輕松將長篇大論的代碼縮減至短短幾行 , 完美的適配iOS8以上系統(tǒng)版本 , 擁有強(qiáng)大的自定義特性 , 可以完成大部分使用者的個性自定義需求.

下面是一個基本的系統(tǒng)的Alert , 包含了標(biāo)題和內(nèi)容以及兩個按鈕 , 如果是使用UIAlertView 那么加上delegate的方法 基本上都是幾十行的代碼 才能完成一個Alert的彈出.

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"標(biāo)題" message:@"內(nèi)容" preferredStyle:UIAlertControllerStyleAlert];
    
    UIAlertAction *actionA = [UIAlertAction actionWithTitle:@"確認(rèn)" 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來實現(xiàn)一個和上面相同效果的Alert ( 其實僅一行代碼 為了提高可讀性 增加了換行 ) :

    [LEEAlert alert].config
    .LeeTitle(@"標(biāo)題")
    .LeeContent(@"內(nèi)容")
    .LeeCancelAction(@"取消", ^{                
        // 取消點擊事件Block
    })
    .LeeAction(@"確認(rèn)", ^{
        // 確認(rèn)點擊事件Block
    })
    .LeeShow();

特性

  • 鏈?zhǔn)秸Z法 結(jié)構(gòu)優(yōu)雅
  • 支持alert類型與actionsheet類型
  • 默認(rèn)樣式為Apple風(fēng)格 可自定義其樣式
  • 支持自定義標(biāo)題與內(nèi)容 可動態(tài)調(diào)整其樣式
  • 支持自定義視圖添加 同時可設(shè)置位置類型等 自定義視圖size改變時會自動適應(yīng).
  • 支持輸入框添加 自動處理鍵盤相關(guān)的細(xì)節(jié)
  • 支持屏幕旋轉(zhuǎn)適應(yīng) 同時可自定義橫豎屏最大寬度和高度
  • 支持自定義action添加 可動態(tài)調(diào)整其樣式
  • 支持內(nèi)部添加的功能項的間距范圍設(shè)置等
  • 支持圓角設(shè)置 支持陰影效果設(shè)置
  • 支持隊列顯示 多個同時顯示時根據(jù)先后順序排隊彈出.
  • 支持兩種背景樣式 1.半透明 (支持自定義透明度比例和顏色) 2.毛玻璃 (支持效果類型)
  • 打開和關(guān)閉的動畫時長均可自定義
  • 更多特性未來版本中將不斷更新.

使用方法

簡單介紹一下完整的組成結(jié)構(gòu)

    [LEEAlert alert].config //初始化一個LEEAlert對象開始設(shè)置
    .LeeTitle(@"標(biāo)題") //添加的設(shè)置 根據(jù)你的需要隨意增減設(shè)置
    .XXXXXXXXXX() //其他的設(shè)置
    .LeeShow(); //最后設(shè)置后 在結(jié)尾調(diào)用 LeeShow() 來顯示Alert

ActionSheet與Alert基本一致 不過初始化時要調(diào)用actionsheet方法:

    [LEEAlert actionsheet].config //調(diào)用actionshe方法
    .XXXXXXXXXX() //其他的設(shè)置
    .LeeShow(); //開始顯示

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

結(jié)語

在我的概念中 開發(fā)其中業(yè)務(wù)邏輯的代碼所占的比重是最大的 , 其余的輔助代碼則應(yīng)該盡可能的去簡化 , 因為過多的輔助代碼會干擾你理解邏輯 , 也會使你的代碼顯得繁瑣復(fù)雜 , 所以我們應(yīng)該盡可能的去簡化它們 , 對于一個簡簡單單彈出Alert功能 就需要長篇大論幾十行 , 這是我無法忍受的 ( 一名代碼潔癖綜合征晚期患者的自述 ) .

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,035評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,733評論 25 709
  • 一 被伊格甜甜的聲音叫醒,小許快到站了! 來換卡。 她把車票遞了過來,我朦朧中摸到她柔嫩的手,這雙手我在上車時欣賞...
    申圖閱讀 317評論 0 0
  • 今天又是美好的一天,伴著可愛的小蟲子的鳴叫,我又開始寫今天的感恩日記。感恩自己已經(jīng)把感恩作為一種自覺行為,感恩自己...
    慧心如蓮閱讀 194評論 0 2
  • 近日在微信群里有許多言論傳播,有許多人跟風(fēng)的盲目傳播,有頭腦的人都明白,沒有證據(jù)的,沒經(jīng)過調(diào)查的事不要隨便傳播。沒...
    dbcc8b4dd97c閱讀 217評論 0 0

友情鏈接更多精彩內(nèi)容