现在的位置: 首页 > 综合 > 正文

自定义UITableviewcell后真机调试会崩溃

2017年12月18日 ⁄ 综合 ⁄ 共 1221字 ⁄ 字号 评论关闭

由于项目需求,我自定义了uitableviewcell。模拟器调试时一直没有问题很稳定,当我想要真机进行调试的时候发现程序会异常崩溃而且崩溃到main函数那里,真是让我百思不得其解,而且也没有任何可以线索。于是我用最笨的办法一点一点的跟踪,最后定为到是在cellfor...函数alloc tableviewcell后我对cell的控件用了masonry进行了位置约束,然后返回程序再跑 就不知道崩溃到哪里去了。去掉masonry的约束就正常。但是实在想不明白为什么,最终发现我在工程属性里面没有选择开发team,真是两个风马牛不相及的地方。不知道为什么,但是设置了team后问题解决啦。

-----------------2015-01-26 补充: 更深层次的研究是因为masonry导致的约束崩溃,我用ib重画tableviewcell然后设置约束就ok,完美的解决了上述的问题。至于说的什么team没有选择导致的完全是胡扯。附我之前和之后的tableviewcell程序

  //[_homeTableView registerClass:[PublicViewCell class] forCellReuseIdentifier:vPublicCellIdentify];
    [_homeTableView registerNib:[UINib nibWithNibName:@"IBpublicTableViewCell" bundle:nil] forCellReuseIdentifier:vPublicCellIdentify];

 //PublicViewCell *vCell = [aTableView dequeueReusableCellWithIdentifier:vPublicCellIdentify];
//        PublicViewCell *vCell = (PublicViewCell *)[aTableView cellForRowAtIndexPath:aIndexPath];
//        if (vCell == nil) {
//            vCell = [[PublicViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:vPublicCellIdentify];
//        }

      IBpublicTableViewCell *vCell = [aTableView dequeueReusableCellWithIdentifier:vPublicCellIdentify forIndexPath:aIndexPath];

在用ib设置完控件的约束之后,出现了两个uibutton 显示正常,但是却不响应点击事件设置背景也没有效,经过层层排查是因为约束没有设置完全,height没有指明。没有指明为什么ib不提示,还显示正常,然后还不能响应点击事件还不能设置背景。坑爹!!

抱歉!评论已关闭.