自定义实现UIAlertController

自定义实现UIAlertController

在iOS8之后,系统就将UIAlertView废除了。推荐使用UIAlertController。但是系统的alertController样式比较简单。

一次在微博中看到了一个自定义的UIAlertController的实现,便下载了源码。看了源码后自己实现了Objective-C的版本(原版本是Swift的)。

可以自定义是否使用图片,自定义按钮的个数,和系统的UIAlertController有着一样的使用方法

如下gif图:

自定义实现UIAlertController_第1张图片
TwoAlertTouch.gif
自定义实现UIAlertController_第2张图片
![Uploading ThreeAlertTouch_869806.gif . . .]
自定义实现UIAlertController_第3张图片
ThreeAlertTouch.gif
ThreeSheetTouch.gif

简单的介绍下实现的思路,具体的可以查看我的github源码

  • 1.使用xib进行布局,主要有四部分,头部的图片UIImageView,中间的Title,及描述Message,下方的按钮部分。由于按钮采用的是线性布局,所以使用UIStackView作为按钮的容器。
  • 2.合理的设置如UIImageView高度的约束(当没有图片的时候高度约束为0),以及Title和描述Message对应的UILable的高度(为可变的)约束.
  • 3.管理UIStackView,当按钮的个数达到一定的个数的时候使用纵向布局,少于2个(可自己定义)的时候使用横向布局.

你可能感兴趣的:(自定义实现UIAlertController)