I'm using a UITableViewCellStyleValue2 cell in my UITableView in my app and I want the left column (the blue text - self.textField) to be much narrower than 开发者_运维技巧the default. I've tried setting the self.textField.bounds after creating the cell but this doesn't seem to work - looking in the debugger it appears the bounds haven't been set.
Can I edit the default cell type in this way, or should I just make my own subclass of UITableViewCell?
Thanks.
You can subclass UITableViewCell
and still use UITableViewCellStyleValue2
. You can then overwrite the layoutSubviews method to change the size of the labels:
- (void) layoutSubviews {
[super layoutSubviews]; // layouts the cell as UITableViewCellStyleValue2 would normally look like
// change frame of one or more labels
self.textLabel.frame = CGRectMake(...);
self.detailTextLabel.frame = CGRectMake(...);
}
精彩评论