您的位置:首页 > 产品设计 > UI/UE

扩展UIButton的响应区域

2017-02-24 13:20 253 查看
扩展UIButton的响应区域

引言

通常在iOS开发中通常会遇到产品说按钮的响应区域不大 而UI给我们的设计是按钮的面积 而不是按钮的响应面积

所以在这种情况下需要我们自己去扩展按钮的响应区域

思考:这时候让我想起了 响应者链条



解决方案:

重写一个Button类,这个button类继承与UIButton,

重写- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent*)event, 作用:判断下传入过来的点在不在方法调用者的坐标系上

直接上代码

#import "JHCustomButton.h"

@implementation JHCustomButton

// 作用:判断下传入过来的点在不在方法调用者的坐标系上
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{

CGRect bounds =CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height);

//宽高希望扩展的范围
CGFloat widthDelta =30;
CGFloat heightDelta =20;

//相当于bounds 上下左右都增加了10的额外
bounds =CGRectInset(bounds, -0.5*widthDelta, -0.5* heightDelta);//注意这里是负数,扩大了之前的bounds的范围

//点击的点是否在这个范围
return CGRectContainsPoint(bounds, point);

}
@end


这样就实现了只扩大了按钮的响应区域
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: