![](/img/trans.png)
[英]Xcode 7 Beta 5, UITableViewCells subviews are clipped out of 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內容為空)這解決了我:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.