为什么UITableViewCell多行仅占单元格宽度的一半?

时间:2011-12-02 02:03:41

标签: ios uitableview label

我这样做:

    cell.textLabel.font = [UIFont systemFontOfSize:16.0];
    cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
    cell.textLabel.numberOfLines = 0;
    cell.textLabel.text = [self.myArray objectAtIndex:indexPath.row];

但问题是当它包装单词并生成多行时,UITableViewCell没有利用完整的单元格宽度。相反,当线在细胞中间时,它开始下一行。

为什么会这样?

谢谢!

2 个答案:

答案 0 :(得分:1)

我通常通过设置bacgroundColor属性来检查标签的宽度。

           cell.contentView.backgroundColor = [UIColor redColor];

这样你可以看到标签rect的实际宽度。

我只能猜测问题是你正在使用的单元格样式。 检查您是否正在使用:行中的UITableViewCellStyleDefault:

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"id"];

使用其他单元格样式可能会使标签变小。

答案 1 :(得分:1)

  

使用您的代码,它将找到单元格中的所有单词以及将使用哪些单词   不适合那个单词将在nect行中。如果你不想要的话   像那样你可以使用UILineBreakModeCharacterWrap代替   UILineBreakModeWordWrap ..