ios 解决按钮过小点击不灵敏的问题

重写uibutton的方法,扩大点击热区

- (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);

}

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

推荐阅读更多精彩内容

  • App通过响应者对象来接收和处理事件,响应者对象都是UIResponder的子类对象,常见的UIView,UIVi...
    FlyElephant阅读 1,274评论 0 5
  • 方法一: #import @interface UIButton (EnlargeTouchArea) - (vo...
    与瑾阅读 323评论 0 1
  • 之前面试的时候,面试官问事件传递得的流程,就提到了一个问题,怎么重写一个基于UIView的触摸范围,当时没认真想...
    雪_晟阅读 2,542评论 0 0
  • Apple的iOS人机交互设计指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很难用”...
    歌白尼阅读 2,145评论 2 1
  • 我们 生活 在 不同的 星球
    高望祖阅读 181评论 0 0