I have a grouped table view with custom cells (created programmatically by subclassing, not with IB). To properly position custom cell’s subviews (such as labels and text fields), I need to know the current width of the cell’s contentView just before the cell displays (taking into account that real cell width in a table view can change (according to screen orientation, modal presentation style, etc.)).
if I override in custom cell class the layoutSubviews method, it works perfectly, but it can be called frequently, thus I have to reposition my subviews every time when it’s called, even when there’s no need to do that.
Please, recommend me more elegant solution.
The recommended way of doing this is by setting the
autoresizingMaskof the table cell. If you need to have more control over the layout, you can store the last used view width in a member variable, and only layout the subviews if this differs from the current view width.