美文网首页
iOS知识点-17. 要给一个UIButton增加一个点击后抖动

iOS知识点-17. 要给一个UIButton增加一个点击后抖动

作者: 萌小奇 | 来源:发表于2018-12-18 18:04 被阅读36次
    Swift vs. Objective-C
    1. 要给一个UIButton增加一个点击后抖动的效果,该怎样实现?

    解决方案有三种。个人推荐用protocol来解决。

    • 实现一个自定义的UIButton类,在其中添加点击抖动效果的方法(shake方法)

    • 写一个UIButton或者UIView的扩展(extension),然后在其中增加shake方法

    • 定义一个protocol,然后在协议扩展(protocol extension)中添加shake方法

    分析这三种方法:

    • 在自定义的类中添加shake方法扩展性不好。如果shake方法被用在其他地方,又要在其他类中再添加一遍shake方法,这样代码复用性差。

    • 在extension中实现虽然解决了代码复用性问题,但是可读性比较差。团队开发中并不是所有人都知道这个extension中存在shake方法,同时随着功能的扩展,extension中新增的方法会层出不穷,它们很难归类管理。

    • 用协议定义解决了复用性、可读性、维护性三个难题。协议的命名(例如Shakeable)直接可以确定其实现的UIButton拥有响应shake功能;通过协议扩展,可以针对不同类实现特定的方法,可维护性也大大提高;因为协议扩展通用于所有实现对象,所以代码复用性也很高。

    上一题 目录 下一题

    相关文章

      网友评论

          本文标题:iOS知识点-17. 要给一个UIButton增加一个点击后抖动

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