【问题标题】:Right aligned UILabel objects text is slightly off右对齐的 UILabel 对象文本略微偏离
【发布时间】:2011-07-14 05:05:42
【问题描述】:

我目前对 UILabel 对象有一个小问题。在 Xcode 4.0.2 中,我使用 Interface Builder 构建一个视图,其中一些右对齐的标签垂直堆叠。除了标签和框架的 Y 坐标之外,这些标签都是相同的。

如果标签中的文本都是相同的长度,那么文本的权限就会很高兴地排列起来。但是,如果文本长度不同,则较长文本的权限会略有下降。如果我更改 IB 中的 text 属性并在设计表面上观察它,或者我在模拟器或设备上运行应用程序并且标签中的文本长度不同,都会发生这种情况。为了更清楚地观察这一点,我更改了几个标签的背景颜色,一旦文本长度不同,它就会立即可见。

我尝试将标签的许多属性更改为相同,我增加了标签的大小,但似乎没有任何影响。标签的宽度远远大于我试图放置在其中的文本。

这是我所说的一个例子。在 IB 中,所有标签都具有相同文本长度的视图如下所示:

如果我将第一个标签的文本更改为 00.00,效果如下:

有什么可能导致这种情况的想法吗?

【问题讨论】:

    标签: ios4 interface-builder uilabel right-align


    【解决方案1】:

    我相信原因是因为单词中的第一个字符的 x 位置与整数坐标对齐,但后续字符使用小数 x 位置(以便提供均匀的字距调整)。通过在第一行添加一个额外的零,您改变了单词的开始位置,因此您的行中的最后一个零与其他零的小数位置略有不同。

    老实说,我不会担心。这是一个非常微妙的抗锯齿差异。

    【讨论】:

    • 相信我,我希望我不必担心它,但是当您在设备上查看它时,很明显它已关闭。
    • @BP 这就是所有文本在系统上的呈现方式。除了下拉到 CoreText 并实现您自己的自定义布局引擎之外,您无能为力。老实说,这不值得担心。如果不放大,我什至无法在我的电脑屏幕上看到差异(而且 iPhone/iPad 屏幕的密度更高,因此在那里应该更不明显)。
    猜你喜欢
    • 2012-06-29
    • 2011-10-13
    • 2019-07-23
    • 1970-01-01
    • 2018-03-09
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多