美文网首页iOS开发ios开发程序员
仿原生ActionSheet的 实现

仿原生ActionSheet的 实现

作者: 飞翔fly | 来源:发表于2016-11-29 21:04 被阅读132次

    本文实现的是类似于苹果原生的ActionSheet的效果。为了实现这种效果,我在这里自定义了两个视图view,分别起名为TopView与BottomView,顾名思义就是一个顶部试图与一个底部视图。顶部视图存放的是标题,摧毁性按钮(destructiveButton)以及不确定个数的按钮(otherButtons),底部视图存放的是cancelButton.这是这两个视图的作用,而且底部视图的frame容易确定,这里不多说。而顶部视图的frame是不确定的,因为它会受到otherButtons的个数的不同而不同。这里的做法是创建一个可变数组,把这些不确定的按钮加到数组里面,然后根据数组个数去创建TopView的frame大小。这里存放按钮的时候主要用到了C需要里面的va_list函数以及va_start()与va_arg()函数。函数的作用不做详解,想了解可以回顾C语言。两个视图创建完毕之后,为了实现从底部推出的效果,我在这里做了一个transform动画,动画时间2秒钟。当然了为了实现苹果原生的这种效果,方法的创建也与苹果原生的方法一样。下面请看代码:

    仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现 仿原生ActionSheet的 实现

    用法很简单,直接调用方法,请看代码:

    仿原生ActionSheet的 实现

    效果图如下:

    仿原生ActionSheet的 实现

    具体代码在github上面,欢迎下载,谢谢。

    地址:https://github.com/15221532825/-ActionSheet.

    相关文章

      网友评论

        本文标题:仿原生ActionSheet的 实现

        本文链接:https://www.haomeiwen.com/subject/furzpttx.html