提醒对话框 SPAlertController
提醒对话框SPAlertController剖析(iOS)
SPAlertController的github地址:SPAlertController
前言
本框架采用VFL布局,不依赖任何框架,用起来和系统的UIAlertController极为相似,不同的是比UIAlertController可定制度更高,SPAlertController可以自由设置文本颜色,字体,相关间距,自定义view等。最终的显示效果和微信微博保持高度一致。支持毛玻璃效果
SPAlertController样式
![](http://upload-images.jianshu.io/upload_images/3006981-4aaef66149389830.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
动画类型
![](http://upload-images.jianshu.io/upload_images/3006981-234e668dd49882ea.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
SPAlertAction样式
![](http://upload-images.jianshu.io/upload_images/3006981-daa80b2e89c9043b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Gif演示图
![](http://upload-images.jianshu.io/upload_images/3006981-b02fe1a7e11fc86a.gif?imageMogr2/auto-orient/strip)
效果图
1.
![](http://upload-images.jianshu.io/upload_images/3006981-565e263954a40e50.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2.
![](http://upload-images.jianshu.io/upload_images/3006981-6986ab0f6619715d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3.
![](http://upload-images.jianshu.io/upload_images/3006981-9f2f51972e69c502.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4.
![](http://upload-images.jianshu.io/upload_images/3006981-67e8ea700d3711ad.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
5.
![](http://upload-images.jianshu.io/upload_images/3006981-dc96f2f9e50f6ba8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
6.
![](http://upload-images.jianshu.io/upload_images/3006981-58b49fe452c435c8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7.
![](http://upload-images.jianshu.io/upload_images/3006981-55f892d63435862c.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
8.
![](http://upload-images.jianshu.io/upload_images/3006981-3974cfeac8a9016b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
9.
![](http://upload-images.jianshu.io/upload_images/3006981-d77afa589120fca6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
基本层次机构
SPAlertController结构上主要分为2大部分:头部和action部分,
头部
头部共有标题部分和文本输入框2部分,文本输入框将显示在标题下面,均由scrollView控制,当标题文字或文本输入框过多时可以滑动scrollView查看跟多内容
action部分
SPAlertControllerStyleActionSheet样式下,action部分分为普通的action和取消的action,普通的action由tableView控制,当普通的action过多时,可以滑动tableView显示更多的action,而取消的action永远处于最底部;SPAlertControllerStyleAlert样式下,当action的个数小于等于2时,action将横向排列,当action的个数大于2时,action将竖向排列,并当action过多时,可以滑动tableView显示更多的action
SPAlertControllerStyleActionSheet样式下的层级结构图
![](http://upload-images.jianshu.io/upload_images/3006981-544aa0dadad1d7df.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)