ios – 在CGAffineTransformMakeScale之后校正模糊文本

ios – 在CGAffineTransformMakeScale之后校正模糊文本,第1张

概述我有多个视图,视图上有很多UILabel. (全部在Interface Builder中构建). 当你捏屏幕时,我正试图创建一个“较小”的视图副本. 要做到这一点,我申请: view.transform = CGAffineTransformMakeScale(.5, .5); 然后我也调整了视野. 问题是在转换之后,我所有UILabel中的文本变得“模糊”.它不会保持像素完美,因为它在全尺寸视图 我有多个视图,视图上有很多UILabel. (全部在Interface Builder中构建).

当你捏屏幕时,我正试图创建一个“较小”的视图副本.

要做到这一点,我申请:

vIEw.transform = CGAffinetransformMakeScale(.5,.5);

然后我也调整了视野.

问题是在转换之后,我所有UILabel中的文本变得“模糊”.它不会保持像素完美,因为它在全尺寸视图中.

有没有办法在转换后增加标签的像素化?

解决方法@H_502_25@ 将变换应用于UIVIEw或CALayer仅缩放该图层或视图的栅格化位图.这可能导致生成的UI元素模糊,因为它们不会以新的比例重新呈现.

如果你真的希望你的文字或图像在新的比例因子上清晰,你需要手动调整它们的大小并使它们重绘而不是应用变换.我描述了一种方法,我在this answer的UIScrollVIEw中托管了UIVIEw.

您可以创建一个遍历一个主视图的视图层次结构的方法,递归读取每个子视图的帧,向下缩放,然后强制重绘其内容.变换仍然可以用于交互式 *** 作或动画,但是您可以在 *** 作或动画结束时触发完全手动缩放和重绘.

总结

以上是内存溢出为你收集整理的ios – 在CGAffineTransformMakeScale之后校正模糊文本全部内容,希望文章能够帮你解决ios – 在CGAffineTransformMakeScale之后校正模糊文本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1078294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存