前言:
首先,根据个人观察,很少有在app中自定义弹出框的样式的,基本上都是使用系统的样式,本文呢就是为了满足那些一根筋的策划们的蹩脚需求的。
那么,让我们一起来看看在ios中如何去自定义对话框吧!
正文:
第一步:我们先上网搜一下,有没有先驱者去完成这件事呢?果不其然,有蹩脚的需求就会有蹩脚的各类产品,各种实现方式不一。据我观察,大概有以下几种实现方式:
1、扩展系统的UIAlertView,通过addSubView方法将自己定义的布局添加到系统的View上,再处理自己添加的按钮的单击事件,这样是可以实现的,其实就是在系统的对话框上面覆盖上自己的视图,让系统的视图不被用户所看到。
2、继承UIView,根据需求使用系统的控件来封装一个视图组,已达到对话框的效果。
3、继承UiView,绘制类似系统UIAlertView的控件,并开放比系统更多的样式。
第二步:根据第一步的工作,我们大概了解了各家实现自定义对话框的方案,那么接下来我们分析一下各家实现方式之利弊。并思考有没有更好的实现方法,或者说那种方式最适合我们自身的需求,再做下手打算。
方式1
优点:实现最简单,效果较理想,扩展性较强。
缺点:当你看到这个对话框的时候,总会感觉它的背后藏着一个系统的对话框,怎么那么奇葩呢,对于有强迫症的人来说,无疑是一种折磨。
方式2
优点:实现较简单,扩展性较强。
缺点:效果不够理想,比如系统对话框弹出时的动画等效果,需要自行实现。
方式3
优点:效果最理想,扩展性最强
缺点:实现逻辑复杂,需要较高的技术支持。
第三步:根据第二步的分析,似乎方式1就是大多数人中的理想实现方案了。没错,在多数情况下,方式1中的实现方案就能满足我们的需求,并且确实是最高效的方案。那么到此,如果你是一个开发者,你需要的就是它了,请下载HGAlertView_Demo1,这就是你想要的!
===========================进阶分割线========================