zoukankan      html  css  js  c++  java
  • 解决 iOS7 通过tag 找不到 UITableViewCell 的子控件

     当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 ];

     

     

       这样姐可以解决了!!!

     

    个人觉得第2种方法比较好,当然还是要根据设计需求来选择咯

     

     

     

     

     

  • 相关阅读:
    冲刺(六)
    冲刺(五)
    冲刺(四)
    团队产品开发
    冲刺(三)
    冲刺(二)
    冲刺(一)
    电梯演讲,模型展示
    校园健康行的NABCD分析
    团队博客
  • 原文地址:https://www.cnblogs.com/waiwaibuzhidao/p/3340400.html
Copyright © 2011-2022 走看看