2016-04-23 93 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