我正在对绘制数字的 UIView 应用比例变换。(这个数字实际上是用 drawInRect 绘制的;看不到 UILabel。)比例变换使视图小了很多……比如说,小了 80%。
结果数字看起来有点“矮胖”。有没有一种方法可以让我的文本看起来很好并且抗锯齿,就像它应该看起来的那样?
问题是您的比例只是放大了渲染的(位图)文本,使其变得模糊。一种方法是在缩放之前根据容器的大小更改文本的字体大小,甚至完全避免缩放而只更改字体大小。请参阅此相关问题。
结果取决于您如何缩放视图。可能仅仅改变字体大小是不够的,您需要拉伸渲染的文本。如果是这种情况,您将不得不想出另一种方法。
我知道您没有使用 UILabel,但是myLabel.adjustsFontSizeToFitWidth = YES
如果您决定走这条路,请为您设置字体大小技巧。
我的解决方案:
lbl.layer.shouldRasterize = YES;
lbl.layer.rasterizationScale = 0.375f;
存储为原始大小时设置 shouldRasterize。