在我的应用程序中,我创建了一个全屏视图,然后将其缩小(约为原始大小的十分之一),以便稍后可以将其动画化为全尺寸。问题是,视图在这种大小下看起来很糟糕,而且是高度像素化的。
这是全尺寸视图:

这是缩小的视图:

我正在使用setFrame:缩小视图--有什么方法可以告诉iOS使用高质量插值吗?或者我已经得到了最高质量的插值,这是它能做的最好的事情了?
发布于 2011-03-24 03:40:42
我建议在缩小视图之前将其转换为图像(我假设您当前有由许多子视图组成的日视图,然后通过调整框架来缩小视图)。
如果你看一看,你会发现这就是苹果实现它的方式:他们不是真的缩小视图,而是将视图的内容捕获为图像,用该图像替换视图,然后缩小图像。这样做的原因有很多:效率(您可以摆脱缩小的视图,并用单个UIImageView替换它们)、速度和质量。
要将UIView另存为图像,您应该执行以下操作:
UIGraphicsBeginImageContext(myView.bounds.size);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();...then将视图替换为图像,并将其缩小。
https://stackoverflow.com/questions/5410632
复制相似问题