Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 纠正CGAffineTransformMakeScale后的模糊文本_Ios_Cgaffinetransform_Cgaffinetransformscale - Fatal编程技术网

Ios 纠正CGAffineTransformMakeScale后的模糊文本

Ios 纠正CGAffineTransformMakeScale后的模糊文本,ios,cgaffinetransform,cgaffinetransformscale,Ios,Cgaffinetransform,Cgaffinetransformscale,我有多个视图,视图上有许多UILabel。(全部在Interface Builder中构建) 然后,当您挤压屏幕时,我尝试创建视图的“较小”副本 为此,我申请: view.transform = CGAffineTransformMakeScale(.5, .5); 然后我也调整了视角 问题是转换后,我所有UILabel中的文本都变得“模糊”。它不能保持像素的完美,因为它是在全面的看法 有没有办法在转换后增加标签的像素化?将转换应用于UIView或CALayer只会缩放该层或视图的光栅化位图。

我有多个视图,视图上有许多UILabel。(全部在Interface Builder中构建)

然后,当您挤压屏幕时,我尝试创建视图的“较小”副本

为此,我申请:

view.transform = CGAffineTransformMakeScale(.5, .5);
然后我也调整了视角

问题是转换后,我所有UILabel中的文本都变得“模糊”。它不能保持像素的完美,因为它是在全面的看法


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

将转换应用于UIView或CALayer只会缩放该层或视图的光栅化位图。这可能会导致生成的UI元素模糊,因为它们不会以新的比例进行渲染

如果确实希望文本或图像在新的比例因子下清晰可见,则需要手动调整它们的大小,并使它们重新绘制,而不是应用变换。我在中描述了一种使用UIView实现这一点的方法,该UIView托管在UIScrollView中

您可以创建一个方法,该方法遍历一个主视图的视图层次结构,递归读取每个子视图的框架,缩小框架,然后强制重画其内容。变换仍然适合用于交互式操纵或动画,但随后可以触发完全手动缩放,并在操纵或动画结束时重新绘制