【IOS】iOS 如何放大按钮点击热区
2016-01-14 15:36
471 查看
Apple的iOS人机交互设计指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很难用”,因为明明点击上去了,却没有任何响应。
但我们有时做自定义Button的时候,设计图上的给出按钮尺寸明显要小于这个数。例如我之前做过的自定义Slider上的Thumb只有12x12pt,做出来后我发现自己根本点不到按钮……
这个问题在WWDC 2012 Session 216视频中提到了一种解决方式。它重写了按钮中的pointInside方法,使得按钮热区不够44×44大小的先自动缩放到44×44,再判断触摸点是否在新的热区内。
?
不过这里有两个小问题:
当定义的Button.frame大于44×44时,这里仍然会将热区缩小至44×44,从而导致超过44×44的按钮热区失去响应。
bounds变量未定义
修正后的代码如下:
?
但我们有时做自定义Button的时候,设计图上的给出按钮尺寸明显要小于这个数。例如我之前做过的自定义Slider上的Thumb只有12x12pt,做出来后我发现自己根本点不到按钮……
这个问题在WWDC 2012 Session 216视频中提到了一种解决方式。它重写了按钮中的pointInside方法,使得按钮热区不够44×44大小的先自动缩放到44×44,再判断触摸点是否在新的热区内。
?
当定义的Button.frame大于44×44时,这里仍然会将热区缩小至44×44,从而导致超过44×44的按钮热区失去响应。
bounds变量未定义
修正后的代码如下:
?
相关文章推荐
- IOS去除百度地图定位后的蓝色圆圈和定位蓝点(精度圈)
- iOS SDL2静态库的编译
- [IOS]edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets、、
- 自学ios——基础篇
- IOS中输入框被软键盘遮挡的解决办法
- 苹果开发那些事儿-D-U-N-S 号申请
- Runtime系列Blog
- iOS歌词解析
- iOS崩溃调试的使用和技巧总结~
- iOS中属性与成员变量的区别
- iOS 检测更新
- iOS音乐播放器(歌词自动滚动)
- ios蓝牙开发(二)
- iOS开发之事件传递响应链
- iOS之身份证的正则校验
- Firemonkey 在 iOS 平台能显示更多的 emoji 字符
- iOS开发之使用lipo命令制作模拟器与真机通用静态库
- 修改searchBar搜索框的删除按钮颜色值
- iOS之汉字转拼音
- iOS导航栏设置