iOS - 放大视图(提供截图)

时间:2012-11-20 09:32:02

标签: objective-c ios uiview

  

可能重复:
  UIImageView Transform Scale

我正在努力实现类似于下面截图的内容。

enter image description here

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

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

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

2 个答案:

答案 0 :(得分:1)

您可以采取两种方法 -

  1. 如果您使用的是标准UITableView,那么只需使用Managing the Reordering of Rows

  2. 如果您没有使用UITableView,并且正在使用UIViews执行更多自定义操作 你需要的是一个名为scale的属性。当你想要影响UIView(而不是使用Core Animation变换的图层)时,使用Core Graphics仿射变换来缩放视图。

  3. 要缩放视图使用 - 这会将视图缩放为2x。

    // 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,以便为屏幕截图添加更酷的外观。

    要为它们设置动画,请将它们包装在动画块中。如果要使用这两种方法转换视图,则需要将它们连接起来。

答案 1 :(得分:1)

将转换应用于视图的图层:) 也可以是动画:)实际上,它隐含着!

self.view.transform = CGAffineTransformScale(self.view.transform, 2,2);