解決 iOS7 通過tag 找不到 UITableViewCell 的子控件(轉)


轉自: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 ];

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM