button太小,想增加其可点击区域?
要么就把按钮本身设置的大一些,要么增大其可以响应的区域。
采用继承的方式,重写UIView的下面方法,来更改UIbutton的响应范围,使button响应更大的区域或者更小的区域
- (BOOL)pointInside:(CGPoint)point withEvent:(nullable UIEvent *)event
@interface MyButton : UIButton
/// 触控区域左右两侧扩大或缩小的偏移量,左右相同,>0表示扩大点击区域,<0表示缩小点击区域
@property (nonatomic) CGFloat touchWidthOffset;
/// 触控区域上下两侧扩大或缩小的偏移量,上下相同,>0表示扩大点击区域,<0表示缩小点击区域
@property (nonatomic) CGFloat touchHeightOffset;
@end
@implementation MyButton
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
CGRect bounds = self.bounds;
bounds = CGRectInset(bounds, -self.touchWidthOffset, -self.touchHeightOffset);
return CGRectContainsPoint(bounds, point);
}
@end
想要让按钮不显示高亮状态?
// 重写系统setHighlighted方法,取消按钮点击高亮显示
- (void)setHighlighted:(BOOL)highlighted {
}
网友评论