我正在尝试放大和缩小UIView
,并重新排列内容以使两种状态看起来相似:缩放和正常。
此图显示默认状态(我要缩放的视图为橙色并具有5个UIImageViews):
当我按下“放大”按钮时,我改变橙色视图框:
_page.frame = self.view.bounds;
我得到以下结果:
但是我想要实现的目标与此类似(如果我缩放视图,结果相同):
这意味着我必须为每个子视图更改帧,但是当视图上有许多对象时,它可能会很复杂。 我要求的是一些提示或方法,如何在不访问子视图的情况下获得所需的结果。
答案 0 :(得分:2)
有一些黑客可以做到这一点,但正确的方法是使用自动布局。您不必访问任何子视图,并且可以在故事板/ IB中执行此操作。 如果使用自动布局,则实际上可以创建约束,这些约束将固定子视图的以下属性:
答案 1 :(得分:1)
除了设置框架(只是改变视图的大小)之外,你想要改变转换(缩放视图)尝试类似:
_page.transform = CGAffineTransformMakeScale(2.0, 2.0)
您可能希望根据旧视图大小和新大小计算比例因子。