扩大UIButton点触区域

1:新建类继承UIButton

2:在.m文件粘贴以下代码

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

{

CGRect bounds = self.bounds;

//若原热区小于44x44,则放大热区,否则保持原大小不变

CGFloat widthDelta = MAX(44.0 - bounds.size.width, 0);

CGFloat heightDelta = MAX(44.0 - bounds.size.height, 0);

bounds = CGRectInset(bounds, -0.5 * widthDelta, -0.5 * heightDelta);

return CGRectContainsPoint(bounds, point);

}

3:收工。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 方法一: #import @interface UIButton (EnlargeTouchArea) - (vo...
    与瑾阅读 2,463评论 0 1
  • App通过响应者对象来接收和处理事件,响应者对象都是UIResponder的子类对象,常见的UIView,UIVi...
    FlyElephant阅读 4,999评论 0 5
  • Apple的iOS人机交互设计指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很难用”...
    歌白尼阅读 6,348评论 2 1
  • 闲来无事玩起了PS 根据 Photoshop制作立体风格的圆形旋涡图形图标 制作了一个超好看的图片. 现在用And...
    Guomin0999阅读 5,291评论 2 5
  • 身边的人,买房买车,结婚生娃。 圈子里的我,有点焦虑。
    Alian__阅读 1,267评论 0 0