解决 iOS7 通过tag 找不到 UITableViewCell 的子控件(转)

针对iOS7升级导致的UITableViewCell显示混乱问题,本文介绍如何通过调整子视图的管理方式来解决。提供了两种解决方案:一是深入多层遍历并移除不需要的子视图;二是直接将自定义控件添加到cell的contentView中。

转自:http://www.cnblogs.com/waiwaibuzhidao/p/3340400.html

 

当iOS7问世,程序的世界就混乱了,以前良好的程序,现在是一塌糊涂,于是只能把问题一个一个攻破。  

 由于项目当中需要每个cell显示数目不同的图片,于是我在每个cell 赋值之前,通过一下方法把cell上面的控件移除

  for (UIView *view in [cell subviews]) {

        if (view.tag>=10000) {

            [view removeFromSuperview];

        }

    }

可是谁知道,系统升级成iOS7就不成功了,cell上面一团乱,仔细查找了一下,发现7的cell上多了一层 UITableViewCellScrollView

虽然控件是[cell addsubview:label];但是 [cell subviews]的第一层是个srollview 所以通过tag根本找不到你想要的控件

解决办法

这个可以有两个办法解决

1.再多交一层for

  for (UIView *view in [self subviews]) {

        for (UIView *viewsub in [view subviews]) {

            if (view.tag>=10000) {

                [view removeFromSuperview];

            }

        }

     }

 

2.就是控件不要直接加到cell上面 ,而是加到 contentView上面 

  [self.contentViewaddSubview:button ];

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值