2016-06-10 61 views
1

對象我有一噸重的標籤在細胞&網站觀點,我想隱藏當用戶處於縱向模式中。我試過以下內容:訪問所有的UILabel中的tableView細胞

for subview in cell.subviews { 

       print("i am a subview") 
       if let label = subview as? UILabel { 

        label.hidden = true 
       } 
      } 

我得到了三個子視圖,但那些都沒有UILabels。一般來說,我有> 10標籤,這就是爲什麼這段代碼似乎沒有工作。有關如何在循環中訪問這些標籤的提示?謝謝...

回答

1

您正在訪問的UITableViewCell的子視圖,但你需要得到的UITableViewCell的內容查看的子視圖。

For Example: cell.subviews[0].subviews會做。

+0

終於!謝謝...做了我的一天。 – Burkart

+0

你爲什麼不使用顯式引用,你不能真正保證它是第一個子視圖... – Wain

+0

第一子視圖總是會定義UITableViewCell –

0

至於我自己,我通過聲明細胞labelsArray: [UILabel]財產和創造這種陣列時,將指針標籤解決相當同樣的問題。

其他方式 - 使用標籤。由於將相同的標籤設置爲不同的視圖是不好的樣式編碼,因此可以提供一些公式:例如,假設您的標籤將具有標籤1000,1001,1002 ...。然後,你可以通過週期從1000列舉的所有標籤,越來越考慮到與標籤之前,您會收到nil

+0

你也可以使用一個插座集合爲 – Wain

+0

@Wain如果使用廈門國際銀行/故事板,是的。 –