美文网首页
iOS UIButton扩大点击范围

iOS UIButton扩大点击范围

作者: 司空123 | 来源:发表于2019-01-10 10:21 被阅读0次

    代码

    应用场景:

    当某个Button设计尺寸很小,导致页面很不好点,因此在不改变设计尺寸的情况下对按钮的响应范围进行适当扩大

    原理:

    1.继承UIButon,重写下面方法

    • (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
      该方法返回一个布尔值,YES说明点击事件在按钮frame中,NO说明点击事件不在按钮的frame中,因此将按钮frame周围等距离的区域内的点击事件都返回YES,便达到了扩大响应范围的目的
    .h 和 .m代码
    屏幕快照 2019-01-10 上午9.45.17.png
    屏幕快照 2019-01-10 上午9.44.57.png
    调用方式

    按钮的size是(20,20),touchSize我们设置为(40,40),结果是按钮上下左右各放大10个点.


    屏幕快照 2019-01-10 上午9.53.01.png
    说明:

    CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)中的三个参数
    rect:待操作的CGRect;
    dx:为正数时,向右平移dx,宽度缩小2dx。为负数时,向左平移dx,宽度增大2dx;
    dy:为正数是,向下平移dy,高度缩小2dy。为负数是,向上平移dy,高度增大2dy。
    CGRectContainsPoint(CGRect rect, CGPoint point)判断手势点击的坐标point(x,y)是否落在rect(x,y,w,h)内.在区域内返回YES,不在返回NO.


    屏幕快照 2019-01-10 上午9.30.44.png

    相关文章

      网友评论

          本文标题:iOS UIButton扩大点击范围

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