UITableViewCell textLabel切断

时间:2011-04-06 15:23:46

标签: iphone uitableview

我在UITableViewCell之一看到了一些奇怪的行为。将textLabel的字体设置为斜体字体([UIFont fontWithName:@"Helvetica-BoldOblique" size:17])时,最后几个像素会被切断。这不是真的坏,但我想避免它。有什么建议吗?

Image http://i56.tinypic.com/2ylplau.png

我使用默认的UITableViewCell因为我只需要一个UILabel,所以不需要子类。我在设置字体后尝试调用[cell.textLabel sizeToFit],但它不起作用。

2 个答案:

答案 0 :(得分:4)

正如occulus指出的那样,UILabel对于斜体文本来说不够宽。但是,因为我使用默认的UITableViewCell,所以我无法改变这一点。 (textLabel框架似乎设置在我不知道的某个位置。当-tableView:willDisplayCell:forRowAtIndexPath:被调用时,它仍然是CGRectZero。)

所以唯一的解决方案似乎是在我的字符串末尾添加一个空格,正如Nick Weaver建议的那样:

cell.textLabel.text = [NSString stringWithFormat:@"%@ ", cell.textLabel.text];

答案 1 :(得分:3)

导致问题的并不是真正的斜体化;只是你的UILabel不够宽。确保它有足够的宽度来容纳您想要的文本。

因此,要么将界面构建器中的UILabel调整为更宽(通过拖动其中一个右角),或者如果您在代码中创建UILabel,请为其添加更宽的帧。

斜体恰好揭示了这样一个事实:你的UILabel不是很宽,而你之前只是“侥幸逃脱”。