美文网首页
UIButton 热区放大

UIButton 热区放大

作者: FRAJ | 来源:发表于2019-05-14 10:51 被阅读0次

Apple 人机交互指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很难用”。
解决方法是重写按钮中的pointInside方法,使得按钮热区不够44x44大小的先自动缩放到44x44,再判断触摸点是否在新的热区内。

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

相关文章

  • UIButton 热区放大

    Apple 人机交互指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很难用”。解决方法...

  • iOS UIbutton扩大热区

    Apple的iOS人机交互设计指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很难用”...

  • 扩大UIButton点击热区

    刚才加的iOS群分享了一份OC版本的代码,大概看了一下觉得改成Swift3.0的也很简单 于是就花几分钟动手改了一...

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

    重写uibutton的方法,扩大点击热区 - (BOOL)pointInside:(CGPoint)point w...

  • UIButton动态扩大热区大小

    前言 使用UIButton的时候设置size的时候热区就固定了,有的时候热区的大小特别的小的时候特别难点到,特别是...

  • 增加UIButton热区(响应范围)

    button太小,想增加其可点击区域?要么就把按钮本身设置的大一些,要么增大其可以响应的区域。 采用继承的方式,重...

  • 增大UIButton的点击热区

    有两种方法可以处理这个问题: 1.视图中 UIButton * button = [UIButton button...

  • UIButton

    1.设置额外热区 使用:UIButton+TouchAreaInsets调用属性方法: 内部实现: 2.结合NST...

  • iOS UIButton之改变有效点击区域(改变热区)

    级别:★☆☆☆☆标签:「UIButton」「热区」作者: WYW审校: Xs·H 大家好,今天小编将会带大家了解一...

  • iOS Button热区的放大

    简介 Apple的iOS人机交互设计指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很...

网友评论

      本文标题:UIButton 热区放大

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