我有一個UICollectionView和一個包含UILabel的UICollectionViewCell的自定義單元格子類。在cellForItemAtIndexPath中,我正在出列,設置UILabel的文本並正常返回單元格。UICollectionViewCell中的UILabel未顯示在新出隊的單元格上
當它加載時,一切看起來都正確,但是當我滾動新出列單元格的標籤時,文本是空白的,即使我註銷了正在設置的字符串並且它是正確的。
我沒有添加或刪除單元格中的任何內容,也沒有設置爲隱藏。
作爲一項測試,我設置了標籤的背景顏色,並且背景位置和尺寸看起來正確,所以我不認爲標籤放錯了位置。
任何想法?
我不確定它是否相關,但我正在使用Xcode 8.1,Swift 2.3並在實際的iPad和iPhone以及模擬器上看到類似的行爲。
是@鈞ZAC要求的代碼:
guard let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Location Cell Vertical Left", forIndexPath: indexPath) as? LocationCollectionViewCellVertical else {
print("Couldn't get locationCollectionViewCellVertical")
return UICollectionViewCell()
}
保護聲明的內部不會被調用。
...
cell.locationTitleLabel.text = originalString
originalString
總是包含一個有效的字符串。
更新:
最奇怪的是,如果我滾動所以這些問題小區是關閉屏幕,然後滾動,他們又是可見的,它們正確顯示。
從你的描述和你做的測試來看,這裏的一切似乎都不錯。也許你可以將代碼發佈到出列位置並設置標籤,以便我們可以幫助調試? –
可悲的是我不能在這裏發佈大部分代碼,但它是一個標準的'collectionView.dequeueReusableCellWithReuseIdentifier(「Location Cell Vertical Left」,forIndexPath:indexPath)as? LocationCollectionViewCellVertical'和'cell.locationTitleLabel.text = originalString' –
你實際上可以編輯你的問題,讓代碼在那裏 –