2016-04-23 91 views
1

我有一個tableviewcell,我爲其製作了一個自定義類,如下所示。我試圖在運行時對事物進行更改,所以我試圖更新鏈接的一個單元格的子元素的框架,但它不會更改大小。沒有在UITableViewCell中調整大小

class Event_TableViewCell: UITableViewCell { 

    @IBOutlet weak var legTableHolder: UIView! 

    override func awakeFromNib() { 
     super.awakeFromNib() 

     legTableHolder.frame = CGRect(x: 25, y: 25, width: 25, height: 25) 
     legTableHolder.backgroundColor = UIColor.blueColor() 
    } 
} 

UIView的背景顏色也變爲藍色,但它的大小沒有。

+0

你讀過這個教程嗎? https://www.raywenderlich.com/87975/dynamic-table-view-cell-height-ios-8-swift這有點過時了,但那裏的建議應該仍然有幫助。 –

+0

通常,更改表格視圖單元格子視圖的框架不足以在表格視圖內更改其高度。推薦的方法是更改​​自動佈局約束。這也可以通過使用從其內容中派生出固有大小的子視圖(例如'UILabel'等)來間接完成。 –

回答

0

如果您使用自動佈局,修改該框架將不起作用。

相反,您應該修改約束。

在xib中,轉到第一個選項卡,在Interface Builder Document下,取消選中使用Auto Layout框。

+0

這會刪除所有組件的自動佈局還是僅刪除此特定的uiview? – user3916570

+0

這很奇怪,通常我可以改變我的代碼中的框架,它的工作原理。只有在這個特定的情況下,我試圖在awakeFromNib中爲uitableviewcell更改它的子內容。 – user3916570