如何随意改变和拓展button的点击范围
来源:互联网 发布:mac地址可以重复吗 编辑:程序博客网 时间:2024/05/16 23:34
最近开始在简书上写了:http://www.jianshu.com/p/692d474604eb
大家在实际的开发中有没有遇到过给了你一张很小的图标,但是又想要很大点击范围的情况,通常解决方案有几种:
第一种:
方案:button 范围做大
缺点:如果图标刚在在中间还算好,但是通常来说图标的都是要靠边的,所以很不靠谱
第二种:
方案:重写button内部的img布局
缺点:麻烦,各种改
第三种:
方案:改变img的内边距
缺点:很难非常的准确到达自己想要的效果,如果美工姐姐的像素眼爆发就呵呵哒….
接下来是是给大家推荐的
第四中方案
重写button的点击范围的判断,修改button的点击范围实现 pointInside:withEvent:event
先看看效果(显示着红框是为了方便调试)
解释下这个类的使用
只要button先继承MCMagnifyLandButton类,其他使用都一样,需要改变点击范围时执行下面的方法
/* * 清空 */- (void)clear;/* * 拓展右边空间 */- (void)increaseRight:(CGFloat)width;/* * 拓展左边空间 */- (void)increaseLeft:(CGFloat)width;/* * 拓展上层空间 */- (void)increaseUp:(CGFloat)width;/* * 拓展下层空间 */- (void)increaseDown:(CGFloat)width;/* * 向右移动 */- (void)moveRight:(CGFloat)width;/* * 向左移动 */- (void)moveLeft:(CGFloat)width;/* * 向上移动 */- (void)moveUp:(CGFloat)width;/* * 向下移动 */- (void)moveDown:(CGFloat)width;/* * 原始大小翻倍,不包括拓展空间 */- (void)multiLand:(NSInteger)multi;
Demo里写的可能更详细,可以下载来看看,代码量其实很小
如果大家感觉不错就star下:https://github.com/CZXBigBrother/MCMagnifyLandButton
1 0
- 如何随意改变和拓展button的点击范围
- 不改变button大小,扩大点击范围
- 改变控件的点击范围
- android点击Button后,buttton的背景和颜色改变
- Button点击背景和字体颜色改变的实现方法
- 扩大Button点击范围
- Button和RelativeLayout点击时会改变颜色
- 点击button改变div的显示隐藏
- 改变button可点击的工具类
- IOS 不改变原图标增加button按钮的范围
- button扩大可点击范围
- 可实现随意切换的button同时随切换改变title的颜色
- 如何改变 detail disclosure button 的颜色
- button点击图标改变方法
- 点击Button之后文字改变
- 点击button然后改变其中文字的颜色
- 如何自定义button的点击有效区域
- 如何自定义button的点击有效区域
- SharePoint2013 WebService的发布
- java程序调用wget.exe下载文件
- git常用命令(持续更新中)
- Android 系列 6.10使用FloatingActionButton
- Supermap iClient for JavaScript 多数据集查询
- 如何随意改变和拓展button的点击范围
- CLRS 17.2核算法
- Android学习笔记--ViewPagerIndicator集成
- SQL Server AlwaysON从入门到进阶(3)——基础架构
- shell脚本“syntax error:unexpected end of file”解决方案
- PHP GD创建透明画布方法
- mybatis 中 foreach collection的三种用法
- redis命令(string)
- 十五、Mybatis 20170110 简记#