3

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

有人可以提出更好的方法吗?

4

1 回答 1

0

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

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

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

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

于 2015-11-28T07:10:27.967 回答