0

可能重复:
UIImageView 变换比例

我正在尝试实现与下面的屏幕截图类似的东西。

在此处输入图像描述

我试图通过简单地更改视图的框架属性并增加其宽度和高度来做到这一点,但它

1)并没有真正放大视图及其子视图,它只是增加了大小 2)它只是从左边增加了它的大小,所以它看起来不均匀

还有一种方法可以让我制作这个动画吗?我可以把它放在UIView's animateWithDuration:块中吗?

4

2 回答 2

1

您可以采取两种方法 -

  1. 如果您使用的是标准UITableView,那么只需使用管理行的重新排序

  2. 如果您不使用 UITableView并且正在做一些更自定义的事情,UIViews那么您需要一个名为scale. 当您希望影响 UIView(与使用 Core Animation 变换的层相反)时,使用 Core Graphics 仿射变换来缩放视图。

要缩放视图使用 - 这会将视图缩放到 2 倍。

// 2x
[yourView setTransform:CGAffineTransformMakeScale(2.0, 2.0)];

要翻译,请使用

// Move origin by 100 on both axis
[yourView setTransform:CGAffineTransformMakeTranslation(100.0, 100.0)];

您还可以alpha尝试将其设置为 0.5,以使其具有您在屏幕截图中放置的额外酷炫外观。

要为这些设置动画,请将它们包装在动画块中。如果你想用这两个转换视图,那么你需要将它们连接起来。

于 2012-11-20T09:38:25.813 回答
1

对视图的图层应用一个变换 :) 也可以是动画的 :) 事实上,它隐含地是!

self.view.transform = CGAffineTransformScale(self.view.transform, 2,2);
于 2012-11-20T09:41:15.587 回答