iPhone - UILabel中的UITextAlignmentRight会删除部分文本

时间:2009-02-24 05:24:46

标签: iphone

我试图在UITableViewCell上显示两个标签,一个带有左对齐文本,另一个带有右对齐文本。具有右对齐文本的单元格在右侧切割1-2个像素。我尝试增加UILabel的宽度,但它没有什么区别。

文本在模拟器中看起来不错,但在设备上它会向右侧切割。

Here's the image URL for reference长文本3 被删除)

2 个答案:

答案 0 :(得分:2)

我发现UITableViewCell中标签的正确对齐剪裁问题与正在使用的字体有关。

如果您只是使用数字,系统,Helvetica和Courier等简单字体不会被剪裁。然而,他们在Oblique或BoldOblique时会这样做。

像Palatino这样的“Fancier”字体被剪切为宽数字,如零和八。

对于字母,我发现像“W”这样的宽字符总是至少丢失非视网膜显示屏上最左边的像素,其中包含系统和helvetica等比例字体,但不包括Courier。

因此,如果使用数字,请使用系统,Helvetica或Courier等基本字体,并避免使用Obliques。 任何字体中任何字符的解决方法是在将字符串末尾附加到字符串末尾之前将其附加到label.text。

label.autoresizingMask可能在某些情况下有所帮助,但我没有发现它对UITableViewCell中的标签对此问题有任何影响。

在IOS 5.1中测试

答案 1 :(得分:-1)

这可以通过使用右对齐的UILabel的autoResizingMask属性来克服。

label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight;

希望能有所帮助。