(转载)Objective-C多个UIButton同时点击问题
今天看到一个有趣的属性,可以避免同一个界面上的多个button同时点击。于是就想把这篇博文记录下来,为了尊重原作者,把原文地址贴在前面。
原文地址:http://blog.csdn.net/liu1347508335/article/details/50617644
一个页面的两个或者多个button如果不设置的话是可以同时点击的,如果事件冲突的话就会出问题,如“发送”和“取消”。一些push操作也会push多个页面,交互十分不友好。解决方法是设置button的exclusiveTouch为YES。
button.exclusiveTouch = YES;
ExclusiveTouch的作用是:可以达到同一界面上多个控件接受事件时的排他性,从而避免一些问题。也就是说避免在一个界面上同时点击多个button。
如果一个页面的button太多的话一个一个设置会比较麻烦,可以这样:
-(void)setExclusiveTouchForButtons:(UIView *)myView { for (UIView * button in [myView subviews]) { if([button isKindOfClass:[UIButton class]]) [((UIButton *)button) setExclusiveTouch:YES]; else if ([button isKindOfClass:[UIView class]]){ [self setExclusiveTouchForButtons:button]; } } }
但是这样需要在每个控制器都要设置。可以采用一句话来代替这样的设置,在AppDelegate中添加:
[[UIButton appearance] setExclusiveTouch:YES];
有人可能不知道模拟器怎么模拟两根手指同时点击的事件,补充一下:按住option键调节两根手指的距离,再按住Shift键调整两根手指的位置(option键不要放开);这样就模拟点击屏幕上任意两点的位置。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【云栖直播】精彩推荐第3期:个性化推荐系统搭建实践
热门推荐 (1)即将直播 持续集成与交付:分层自动化之UI自动化体系建设 直播简介: 本系列直播由阿里旗下一站式研发提效平台云效策划推出,主要为大家详细介绍阿里巴巴在持续集成和持续交付的最佳实践。 直播讲师: 开风, 阿里资深研发工程师 直播时间:2017年6月14日 19:30 >>[立即预约] 走进阿里:Android开发者沙龙 直播简介: Android O Pre 2发布,Kotlin成为Android官方编程语言,AI时代的到来……这是Android开发者的狂欢还是梦魇,Android开发的未来路在何方?Android开发者又该做哪些技术储备和转型? 直播讲师: 白衣等, 淘宝网高级专家 直播时间:2017年6月17日 13:30 >>[立即预约] (2)研发 首届阿里巴巴研发效能嘉年华 直播简介: 随着互联网和移动互联网的高速发展,企业往往存在多个线上应用,数十、甚至数百人参与开发与维护;同时,为了保持业务的核心竞争力,新特性高速平稳发布同样必不可少,本次活动将为大家介绍阿里第一手持续集成与交付实践! 直播讲师:乐学等, 菜鸟测试专家 直播时间:2...
- 下一篇
获取Android的MAC地址
在Android平台上,如果在开始启动前去加载一个测试程序,该测试程序的功能是去读取wifi的mac地址,然后显示出来,显示的方式可以使用移植recovery源代码的miniui。 那么读wifi的mac地址无疑便是要初始化,装载wifi驱动后,通过cat /sys/class/net/wlan0/address去获取。 实例程序如下,这里仅仅只获取mac地址,wifi初始化,装载模块的C程序不便提供。 FILE *fstream = NULL; memset(wifi_mac_address,0,sizeof(wifi_mac_address)); sprintf(cmd,"%s","cat /sys/class/net/wlan0/address"); if(NULL==(fstream=popen(cmd,"r"))) { fprintf(stderr,"execute command failed: %s",strerror(errno)); ui_print_xy_rgba(X_GO,10,255,0,0,255,"WiFi MAC read[%s]:%s\n",PCBA_F...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主