ios 扩大button的点击区域
https://www.jianshu.com/p/7017a514d94e
当UI设计图上的给出按钮尺寸较小,我们将对应的资源文件放入UIButton中,在真机调试中会发现难以点到按钮。
这时候我们可以创建一个类继承UIButton,重写pointInside方法,使得按钮事件响应不够我们设置的最小区域的自动扩大到我们的设置的最小区域。
.h定义我们设置的最小响应区域大小
/**
* 事件响应最小区域大小(小于此区域则放大,否则保持原大小不变,不赋值保持原大小不变)
*/
@property (nonatomic, assign) CGSize eventFrame;
.m重写pointInside方法
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent*)event{
CGRect bounds = self.bounds;
CGFloat widthExtra = MAX(self.eventFrame.width - bounds.size.width, 0);
CGFloat heightExtra = MAX(self.eventFrame.height - bounds.size.height, 0);
bounds = CGRectInset(bounds, -0.5 * widthExtra, -0.5 * heightExtra);
return CGRectContainsPoint(bounds, point);
}
作者:fulen
链接:https://www.jianshu.com/p/7017a514d94e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2019-08-28 iOS Bezier曲线
2019-08-28 iOS CALayer之CAEmitterLayer粒子发射器的神奇效果
2019-08-28 iOS学习笔记-084.粒子效果——路径移动
2015-08-28 详解 CALayer 和 UIView 的区别和联系
2015-08-28 8行代码教你搞定导航控制器全屏滑动返回效果