如何使用动画缩放uiview及其中的所有内容(其他自定义绘制的uiviews)?

时间:2012-11-01 09:55:15

标签: uiview xcode4.2 uiviewanimationtransition

我有一个uiview,其中包含其他自定义绘制的uiview。现在我希望这样,当用户单击此父视图时,它将扩展为带有动画的新定义框架。 我使用动画块取得了一些成功。问题是扩展视图只是未扩展uiview的缩放版本,因此它有点像素化。通过在动画块之后调用子视图setneedsdisplay(),现在扩展视图的最终结果是清晰的(即没有像素化)。但在转换中,它仍然是像素化的。

有人可以建议更好的方法吗?

1 个答案:

答案 0 :(得分:0)

这是一个老问题,但无论如何我都会试一试......

  

通过在动画块之后调用子视图setneedsdisplay()   现在扩大视野的最终结果是尖锐的(即没有   像素化)...有人可以提出更好的方法吗?

您可以在Xcode 4.2中完成此操作的一种方法是插入包含较大版本视图图片的图像视图。您可以按rendering the view in an image context创建该图片。当然,如果动画通过简单缩放来扩展视图,这种方法最有效;如果你在动画期间移动子视图,静态图像显然没有帮助。

现在Xcode 4.2在很大程度上是一个遥远的内存,设备有更多的马力,在扩展过程中使用自动布局约束来管理子视图的大小和位置应该会产生非常好的效果。