博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS:点击button卡死
阅读量:5285 次
发布时间:2019-06-14

本文共 764 字,大约阅读时间需要 2 分钟。

场景:
     在tableView的Cell中有一个button,我须要点击这个button然后使得其视图控制器上的一个视图改变frame,可是我点击这个button后,导致卡死,也不崩溃。所有事件失效。我本人初步觉得是线程卡死,或者事件所有传递到了我须要改变frame的那个视图上。无法分发事件。
解决:
     1.使用Block解决,或者其它设计模式来传递点击消息;
     2.使用多线程解决,最高效快捷;
演示样例:
     我使用的是Block解决:
     在tableView中声明Block
     由于我须要传值,所以带有參数
typedef void(^btnBlock)(ModelDiscussionList *);
@property (nonatomic,copy)   btnBlock            block;

   

  我在tableView构建Cell的协议方法中,在此处加入button点击事件,并依据indexPath.row来设置button的tag值。以此来获取数据

//实现Block,而且实现传值-(void)outLaftView:(UIButton *)button{    ModelDiscussionList *model = _dataArray[button.tag];    _block(model);}
在视图控制器初始化tableView的时候调用Block

//调用Block    _commentStuTableView.block = ^(ModelDiscussionList *model)    {        //在里面实现改变视图frame的方法    };
我就是这样解决问题的

转载于:https://www.cnblogs.com/mfrbuaa/p/5114377.html

你可能感兴趣的文章
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
[LeetCode] Merge Intervals
查看>>
Linux编程简介——gcc
查看>>
2019年春季学期第四周作业
查看>>
CF461B Appleman and Tree
查看>>
CF1215E Marbles
查看>>
axure学习点
查看>>
WPF文本框只允许输入数字[转]
查看>>
dom4j 通用解析器,解析成List<Map<String,Object>>
查看>>
第一个项目--用bootstrap实现美工设计的首页
查看>>
使用XML传递数据
查看>>
TYVJ.1864.[Poetize I]守卫者的挑战(概率DP)
查看>>
0925 韩顺平java视频
查看>>
iOS-程序启动原理和UIApplication
查看>>
mysql 8.0 zip包安装
查看>>
awk 统计
查看>>