歡迎加入QQ討論群258996829

Swift 自定義 UIAlertController 控件 JRAlertController

發(fā)布時間:2016-11-16 16:37  回復(fù):0  查看:8364  感興趣:155  贊:0   最后回復(fù):2016-11-16 16:37  

JRAlertController

JRAlertController:基于apple的UIAlertController控件api,用swift重新打造的UI控件,更符合主流app的風(fēng)格。

JRAlertController總體效果圖

Swift 自定義 UIAlertController 控件 JRAlertController

UIAlertController 歷史

在日常iOS開發(fā)中,我們經(jīng)常能遇到這種情況(我們需要在某個地方讓用戶做一個選擇),比如說:一個博客,點(diǎn)擊右上角的按鈕后,你可以執(zhí)行“修改博客”、“刪除博客”兩個操作。既然是這么常用的操作,Apple當(dāng)然給我們提供了常用的控件,那就是UIAlertController。

UIAlertController自iOS8出現(xiàn),在那之前,我們用的是UIAlertViewUIActionSheet。iOS8之后,UIAlertViewUIActionSheet合并為UIAlertController,并以一個style屬性來區(qū)分原來的UIAlertViewUIActionSheet的作用,還有就是用閉包回調(diào)的方式代替了之前的代理(我覺得閉包回調(diào)的方式寫起來方便多了)。

UIAlertController 不足

那么既然UIAlertController已經(jīng)是在iOS8優(yōu)化后的控件(至少api上優(yōu)化了),那么為何還來個JRAlertController呢?

在開發(fā)中我們會發(fā)現(xiàn),UIAlertController有以下幾個不足之處:

1.無論是alert還是sheet下的界面,邊角過于圓滑,尤其當(dāng)stylesheet的時候,從底部彈出來那么一個過于圓滑的界面,反正我不覺得好看,不信你看微博、微信這些主流app是怎么做的
微博的效果:

Swift 自定義 UIAlertController 控件 JRAlertController

2.點(diǎn)擊背景部分,無法dismiss UIAlertController

3.alert樣式下,添加過多的UITextFieldAction后,界面顯示丑陋。(雖然不會有這種需求,也不該在UIAlertController過量添加,畢竟UIAlertController適用于”短暫”操作,但是過多添加后,界面確實(shí)不好看,后面會有效果圖)

基于以上幾點(diǎn)不足,我認(rèn)為足以自定義一個控件來代替UIAlertController,所以JRAlertController誕生了。

相關(guān)開源代碼

您還未登錄,請先登錄

熱門帖子

最新帖子

?