iOS:点击button卡死

简介:
场景:
     在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的方法
    };

我就是这样解决问题的






本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5114377.html,如需转载请自行联系原作者


相关文章
|
2月前
|
iOS开发
iOS超出父控件范围无法点击问题
iOS超出父控件范围无法点击问题
140 58
|
2月前
|
iOS开发
iOS超出父控件范围无法点击问题
iOS超出父控件范围无法点击问题
vue--ios手机input点击手机输入键盘顶起页面解决方案
vue--ios手机input点击手机输入键盘顶起页面解决方案
|
前端开发 JavaScript Android开发
【前端】IOS微信浏览器点击右上角遮罩实现
现在有一个需求,通过公众号或者链接,下载app应用,大家都知道,安卓和ios下载对应的版本都不一样。并且,ios 微信浏览器不支持应用下载,需要实现一个遮罩功能,提示用户通过浏览器下载,效果如下:
210 0
【前端】IOS微信浏览器点击右上角遮罩实现
|
移动开发 JavaScript Android开发
iOS12网页视频播放点击全屏按钮会导致闪退
iOS12网页视频播放点击全屏按钮会导致闪退
309 0
|
开发工具 iOS开发 git
iOS开发 - 类似美团选商品页,从按钮上往上滑动,tableview依然响应,点击按钮,按钮也可响应
iOS开发 - 类似美团选商品页,从按钮上往上滑动,tableview依然响应,点击按钮,按钮也可响应
214 0
iOS开发 - 类似美团选商品页,从按钮上往上滑动,tableview依然响应,点击按钮,按钮也可响应
|
API iOS开发 Perl
ios UIButton点击快捷回调
ios UIButton点击快捷回调
|
API iOS开发 Perl
iOS Button连按处理防止按钮连续点击
iOS Button连按处理防止按钮连续点击
|
iOS开发
iOS开发 --重写UISearchBar的时候,点击取消searchbar会变深色,一闪而过
iOS开发 --重写UISearchBar的时候,点击取消searchbar会变深色,一闪而过
125 0
|
iOS开发
iOS开发 - 点击tabbar某一个item,直接push跳转进入需要的页面,而不是切换tab
iOS开发 - 点击tabbar某一个item,直接push跳转进入需要的页面,而不是切换tab
439 0