簡體   English   中英

Xcode 7 beta 5,Swift 2:UITableViewCell的子視圖在運行時未添加到contentView

[英]Xcode 7 beta 5, Swift 2: UITableViewCell's subviews are not added to the contentView at runtime

使用Xcode 7 beta 5和Swift 2時會出現以下現象:

使用在故事板中創建的自定義UICollectionViewCell時,單元格的子視圖不會添加到單元格的contentView 因此,單元格在運行時保持空白。

但是,如果我為單元格創建自定義單元格類,然后以編程方式將子視圖添加到contentView並設置其frame ,則會顯示單元格的內容:

class Cell : UITableViewCell {

    @IBOutlet weak var label: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()

        NSLog("subiews.count=%d", contentView.subviews.count) // prints "0"

        contentView.subviews.count
        contentView.addSubview(label)

        label.frame = CGRect(x: 0, y: 0, width: 200, height: 21)
    }
}

同樣,無需手動添加標簽(已在故事板中添加!)並設置其框架,它在運行時將不可見! 在故事板中,標簽內容視圖的子視圖。 在運行時它不是

在使用Swift 1.2的最新Xcode 6中,我無法觀察到這種行為。

有人可以證實這種愚蠢的行為嗎? 也許提供一個更簡單的解決方法?

編輯:幸運的是,在將這些視圖以編程方式添加到contentView之后,將應用對單元格子視圖的視圖約束。 因此,至少手動設置它們的幀是不必要的。

這里有一個類似的問題UITableView Empty與iOS 9 beta 5更新

我的回答是https://stackoverflow.com/a/32052154/2674336

我不能說這是否是一個通用的解決方案,但在完全相同的情況下(更新到XCode 7 beta 5后運行時的tablviewcell內容為空)這解決了我:

我必須瀏覽內容視圖中的每個項目(包括所有約束)並勾選屬性檢查器中的“已安裝”復選框。 最初只檢查了wR hR。 在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM