Ben Clayton
Ben Clayton

Reputation: 82227

How to change the size of the labels on a UITableViewCellStyleValue2 cell? (UITableView iPhone)

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.

Upvotes: 9

Views: 4610

Answers (1)

Felix Lamouroux
Felix Lamouroux

Reputation: 7484

You can subclass UITableViewCelland 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(...);    
}

Upvotes: 16

Related Questions