如何更改单元格的textLabel框架?

Rap*_*eta 8 iphone uilabel ios

我已经尝试了几乎所有的东西,但我似乎无法将cell.textLabel属性向下移动一点点.我在下面附上了截图,我已经尝试了几乎所有我能找到的东西.

我已经尝试直接更改.frame属性,尝试修改如果通过使用" - (void)tableView:(UITableView*)tableView willDisplayCell"方法".我也尝试分配自定义标签.我可以移动自定义标签,但它不会像原始textLabel那样进入单独的行.我只需要将图示的多行标签稍微移动一下.

任何帮助表示赞赏!

在此输入图像描述

小智 22

覆盖layoutSubviews你的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;
}
Run Code Online (Sandbox Code Playgroud)

或者您可以简单地创建自己的UILabel对象,并将其作为子视图添加到cell.contentView.

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(4, 4, 30, 30)];
[cell.contentView addSubview:label];
[label release];
Run Code Online (Sandbox Code Playgroud)


Lil*_*ard 16

执行此操作的唯一方法是使用UITableViewCell子类并覆盖-layoutSubviews.在此方法中,您将要调用[super layoutSubviews],然后对标签执行任何帧调整.