UITableViewCell文本对齐和子视图重叠

时间:2011-04-06 14:51:35

标签: iphone objective-c uitableview

我正在开发一个待办事项列表应用程序。但是我似乎无法将我的复选框图像与cell.textLabel.text正确对齐。

我对下面代码的问题是" test test"我的复选框图片覆盖了它,只留下" st test"

我的代码用于复选框按钮图像,如

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(5.0, 7.0, 25.0, 25.0)];

UIImage *uncheckedButtonImage = [UIImage imageNamed:@"unchecked_checkbox.png"];

[button setImage:uncheckedButtonImage forState:UIControlStateNormal];

[cell.contentView addSubview:button];

和我的单元格textlabel只是

cell.textLabel.text = @"test test";

是否有对齐textLabel文本向右移动一点?

2 个答案:

答案 0 :(得分:1)

我建议添加UILabel,因为将来如果你需要更改视图单元格,它将更加动态,更容易玩到Cell的任何新内容。

查看以下代码段:

    CGRect DeviceNameFrame = CGRectMake(101, 32, 522, 21);

    UILabel *lblDeviceName = [[UILabel alloc] initWithFrame:DeviceNameFrame];   
    lblDeviceName.backgroundColor = [UIColor clearColor];
    lblDeviceName.font = [UIFont fontWithName:@"Helvetica-Bold" size:17];
    lblDeviceName.text =  @"test test";
    lblDeviceName.lineBreakMode = UILineBreakModeMiddleTruncation;
    [cell.contentView addSubview:lblDeviceName];
    [lblDeviceName release];

我希望这会对你有所帮助。

答案 1 :(得分:0)

最简单的解决方案是查看UITableViewCell的“缩进”属性。有关详细信息,请参阅文档。对单元格进行子类化并添加自己的UILabel可以为您提供最大程度的控制。