Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I change a cell's textLabel frame?

I've tried nearly everything, but I just can't seem to move the cell.textLabel property down a little bit. I've attached a screenshot below and I've tried nearly everything I could find.

I've tried changing the .frame property directly, attempted at modifying if via using the "- (void)tableView:(UITableView *)tableView willDisplayCell" method". I've also tried allocating a custom label. I could move the custom label, but it wouldn't go into separate lines like the original textLabel. I just need to move the pictured multi line label a bit down.

Any help is appreciated!

enter image description here

like image 833
Raphael Caixeta Avatar asked Jan 28 '11 04:01

Raphael Caixeta


1 Answers

override layoutSubviews for your UITableViewCell...

- (void)layoutSubviews {
    [super layoutSubviews];

    CGSize size = self.bounds.size;
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame =  frame;
    self.textLabel.contentMode = UIViewContentModeScaleAspectFit;
}

or you can simply make your own UILabel object, and add it to cell.contentView as a subview.

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(4, 4, 30, 30)];
[cell.contentView addSubview:label];
[label release];
like image 188
EvilPenguin Avatar answered Sep 21 '22 05:09

EvilPenguin