自定義實現(xiàn)UIAlertController
在iOS8之后,系統(tǒng)就將UIAlertView廢除了。推薦使用UIAlertController。但是系統(tǒng)的alertController樣式比較簡單。
一次在微博中看到了一個自定義的UIAlertController的實現(xiàn),便下載了源碼??戳嗽创a后自己實現(xiàn)了Objective-C的版本(原版本是Swift的)。
可以自定義是否使用圖片,自定義按鈕的個數(shù),和系統(tǒng)的UIAlertController有著一樣的使用方法
如下gif圖:

TwoAlertTouch.gif

![Uploading ThreeAlertTouch_869806.gif . . .]

ThreeAlertTouch.gif

ThreeSheetTouch.gif
簡單的介紹下實現(xiàn)的思路,具體的可以查看我的github源碼
- 1.使用xib進行布局,主要有四部分,頭部的圖片UIImageView,中間的Title,及描述Message,下方的按鈕部分。由于按鈕采用的是線性布局,所以使用UIStackView作為按鈕的容器。
- 2.合理的設(shè)置如UIImageView高度的約束(當(dāng)沒有圖片的時候高度約束為0),以及Title和描述Message對應(yīng)的UILable的高度(為可變的)約束.
- 3.管理UIStackView,當(dāng)按鈕的個數(shù)達到一定的個數(shù)的時候使用縱向布局,少于2個(可自己定義)的時候使用橫向布局.