您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页iOS圆形UIButton实现只点击圆形区域有效

iOS圆形UIButton实现只点击圆形区域有效

来源:伴沃教育

 系统UIButton自带的方式为矩形,通过设置layer层可以将图片裁剪为圆形,但是点击区域仍是矩形。

即: btn.layer.cornerRadius = 150; //矩形边长的一半

    btn.layer.masksToBounds = NO;//设置超过子图层的部分裁减掉

为解决这个为题,本文的方法是,创建UIButton子类,重写UIButton的- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event的方法。代码如下:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{

    BOOL  flag = [super pointInside:point withEvent:event];

    if (flag) {

        UIBezierPath   *path = [UIBezierPath bezierPathWithOvalInRect:self.bounds];

        if ([path containsPoint:point]) {

            return YES;

        }

    }

    return NO;

}

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务