如果宽度不均匀,为什么UILabel的文字在iPad上模糊?

时间:2011-11-10 14:15:42

标签: objective-c ios cocoa-touch uikit

以下现象:我的文字是“搜索”。我创建一个UILabel的SmallSystemFontSize并调用sizeToFit:

结果是39个单位宽,文字看起来有点模糊。 如果我将宽度调整为40,它看起来很完美。

我读到如果你点击子像素,文字会变得模糊,这意味着宽度会像39.5一样,但它似乎必须是均匀的。

有人可以确认甚至解释发生了什么吗?

2 个答案:

答案 0 :(得分:4)

UIView个项目按其中心定位,其中奇数大小为半像素,19.5宽度为39 ..此对齐会导致像素平均,导致模糊。

一种方法是使其宽度均匀。

另一种方法是将中心置于偶数点使用位置:

@property(nonatomic) CGPoint center

例如,对于label;所需的位置(10,10,39,19),可以使用:

label.center = CGPointMake(50, 20);

答案 1 :(得分:4)

就我而言,在UILabel的超级视图的CGLayer上设置shouldRasterize = YES是罪魁祸首。删除该行使文本更好,更清晰。