JRAlertController:基于apple的UIAlertController控件api,用swift重新打造的UI控件,更符合主流app的风格。
在日常iOS开发中,我们经常能遇到这种情况(我们需要在某个地方让用户做一个选择),比如说:一个博客,点击右上角的按钮后,你可以执行“修改博客”、“删除博客”两个操作。既然是这么常用的操作,Apple当然给我们提供了常用的控件,那就是UIAlertController。
UIAlertController
自iOS8出现,在那之前,我们用的是UIAlertView
和UIActionSheet
。iOS8之后,UIAlertView
与UIActionSheet
合并为UIAlertController
,并以一个style
属性来区分原来的UIAlertView
和UIActionSheet
的作用,还有就是用闭包回调的方式代替了之前的代理(我觉得闭包回调的方式写起来方便多了)。
那么既然UIAlertController
已经是在iOS8优化后的控件(至少api上优化了),那么为何还来个JRAlertController
呢?
在开发中我们会发现,UIAlertController
有以下几个不足之处:
1.无论是alert
还是sheet
下的界面,边角过于圆滑,尤其当style
是sheet
的时候,从底部弹出来那么一个过于圆滑的界面,反正我不觉得好看,不信你看微博、微信这些主流app是怎么做的
微博的效果:
2.点击背景部分,无法dismiss UIAlertController
3.alert
样式下,添加过多的UITextField
和Action
后,界面显示丑陋。(虽然不会有这种需求,也不该在UIAlertController
过量添加,毕竟UIAlertController
适用于”短暂”操作,但是过多添加后,界面确实不好看,后面会有效果图)
基于以上几点不足,我认为足以自定义一个控件来代替UIAlertController
,所以JRAlertController
诞生了。