很多时候,按钮特别小的情况下,会导致点击很困难,为此我们需要增大点击区域。
1.比较笨的办法是直接增大按钮的frame,但是这样导致按钮在调整位置的时候变得非常困难,不可取。
2.我们采用iOS的响应链的方案来解决
#import "WWExtraButton.h"
#define SCALE(s) ((s) / 375.0 * SCREEN_WIDTH)
@implementation WWExtraButton
- (CGFloat)extra{
if (_extra <= 0) {
_extra = 15;
}
return _extra;
}
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
CGFloat extra = - SCALE(self.extra);
CGRect newRect = CGRectInset(self.bounds, extra, extra);
return CGRectContainsPoint(newRect, point);
}
这样就能自己控制点击区域的额外大小了
网友评论