在我的应用程序中,我正在创建一个全屏视图,然后将其缩小(大约为其原始大小的十分之一),以便我可以稍后将其设置为全尺寸。问题是该视图在该大小上看起来很糟糕,并且具有高度像素化。
这是全尺寸视图:
这是现场缩小的观点:
我正在使用setFrame:
缩小视图 - 是否有某种方法可以告诉iOS使用高质量插值?或者我已经获得了最高质量的插值,这是它能做到的最好的?
答案 0 :(得分:1)
我建议你在缩小之前将视图转换为图像(我假设你现在有了你的日视图,由很多子视图组成,然后你可以通过调整框架来缩小它。)
如果你看起来你会看到这就是Apple如何实现它:它们不是简单地缩小视图,而是将视图的内容捕获为图像,用该图像替换视图,然后缩小图像。你这样做有很多原因:效率(你可以摆脱缩小的视图并用一个UIImageView替换它们),速度和质量。
要将UIView保存为图像,您应该执行以下操作:
UIGraphicsBeginImageContext(myView.bounds.size);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
...然后用图像替换你的视图,并缩小它。