【发布时间】:2009-02-24 05:24:45
【问题描述】:
我试图在 UITableViewCell 上显示两个标签,一个带有左对齐文本,另一个带有右对齐文本。文本右对齐的单元格在右侧被切割 1-2 个像素。我尝试增加 UILabel 的宽度,但没有任何区别。
文本在模拟器中看起来很好,但在设备上它被向右切割。
Here's the image URL for reference(Long Text 3被剪掉了)
【问题讨论】:
标签: iphone
我试图在 UITableViewCell 上显示两个标签,一个带有左对齐文本,另一个带有右对齐文本。文本右对齐的单元格在右侧被切割 1-2 个像素。我尝试增加 UILabel 的宽度,但没有任何区别。
文本在模拟器中看起来很好,但在设备上它被向右切割。
Here's the image URL for reference(Long Text 3被剪掉了)
【问题讨论】:
标签: iphone
我发现 UITableViewCell 中标签的右对齐裁剪问题与使用的字体有关。
如果您只使用数字,系统、Helvetica 和 Courier 等简单字体不会被剪裁。但是,他们在 Oblique 或 BoldOblique 中会这样做。
像 Palatino 这样的“Fancier”字体会被剪裁在像零和八这样的宽数字上。
对于字母,我发现像“W”这样的宽字体在使用包括 system 和 helvetica 等比例字体的非视网膜显示器上总是至少丢失最左边的像素,但对于 Courier 则不然。
因此,如果使用数字,请使用基本字体,例如 system、Helvetica 或 Courier,并避免使用 Obliques。 任何字体的任何字符的解决方法是在将字符串分配给 label.text 之前在字符串末尾附加一个空格。
label.autoresizingMask 在某些情况下可能会有所帮助,但我发现它对 UITableViewCell 中的标签问题没有任何影响。
在 IOS 5.1 中测试
【讨论】:
这可以通过使用右对齐的 UILabel 的 autoResizingMask 属性来克服。
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight;
希望对某人有所帮助。
【讨论】: