Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 783
Ben Clayton Avatar asked Jan 19 '10 11:01

Ben Clayton


1 Answers

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(...);    
}
like image 101
Felix Lamouroux Avatar answered Oct 30 '22 06:10

Felix Lamouroux