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

iOS扩大UIButton点击范围

作者: _moses | 来源:发表于2017-11-01 15:28 被阅读1107次

由网上各位大神的实现方法,总结如下:
为UIButton添加一个分类MSExtendTouchArea

#import <UIKit/UIKit.h>

@interface UIButton (MSExtendTouchArea)

- (void)extendTouchArea:(UIEdgeInsets)edgeArea;

@end
#import "UIButton+MSExtendTouchArea.h"
#import <objc/runtime.h>

@implementation UIButton (MSExtendTouchArea)

static char MSExtendEdgeKey;

- (void)extendTouchArea:(UIEdgeInsets)edgeArea {
    objc_setAssociatedObject(self, &MSExtendEdgeKey, [NSValue valueWithUIEdgeInsets:edgeArea], OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    
    UIEdgeInsets edge = [objc_getAssociatedObject(self, &MSExtendEdgeKey) UIEdgeInsetsValue];
    
    CGRect extendArea = self.bounds;
    if (edge.left || edge.right || edge.top || edge.bottom) {
        extendArea = CGRectMake(self.bounds.origin.x - edge.left,
                                self.bounds.origin.y - edge.top,
                                self.bounds.size.width + edge.left + edge.right,
                                self.bounds.size.height + edge.top + edge.bottom);
    }
    return CGRectContainsPoint(extendArea, point);
}

@end

相关文章

  • ios 扩大UIButton点击范围

    先了解Hit-Test请看上一篇文章https://www.jianshu.com/writer#/noteboo...

  • iOS扩大UIButton点击范围

    由网上各位大神的实现方法,总结如下:为UIButton添加一个分类MSExtendTouchArea

  • iOS扩大UIButton的点击范围

    怎样来实现这个功能呢?又有多少种方式可以实现呢?下面一一来讲。 理解事件传递过程,用这个来实现扩大点击范围使用Ru...

  • iOS-扩大UIButton点击范围

    重写一个Button类,这个button类继承与UIButton,重写- (BOOL)pointInside:(C...

  • iOS 扩大 UIButton 的点击范围

    在实际开发中,有的时候 Button 因为 Frame 太小,导致点击范围也小,需要增大 Button 的点击范围...

  • iOS UIButton扩大点击范围

    代码 应用场景: 当某个Button设计尺寸很小,导致页面很不好点,因此在不改变设计尺寸的情况下对按钮的响应范围进...

  • iOS扩大UIButton按钮的点击范围

    有时候会遇到按钮本身较小,不好点击的情况。这个时候可能不方便扩大按钮,就可以使用这个方法来扩大点击范围但是不需要扩...

  • 扩大UIButton的点击范围

    实现方式:利用runtime写一个button的类别,使用时调用便可。 demo地址扩大按钮点击范围

  • UIButton 扩大点击范围

    实际开发中经常遇到因为Button太小导致用户无法点击到有效区域影响体验,这时就要增加点击范围。这里我们给Butt...

  • 扩大UIButton的点击范围

    有的时候,UI小图标,可是需要可以点击.如果使用button的setImage来设置资源文件,点击范围有可能就变得...

网友评论

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

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