首页 > 解决方案 > UIViewController 布局更改

问题描述

我有一个 UIViewController,它有 4 个子视图——左视图、右视图、底视图和中心视图。中心视图实际上嵌入了另一个视图控制器(AVPlayerViewController)。按一下按钮,我希望更改左视图和底视图并调整中心视图的大小。中心视图这次也将有一个不同的前导约束,因为它之前挂钩的左视图现在不再存在。

使用自动布局和故事板做这种事情的最简单方法是什么?Storyboards 中是否有办法定义相同 UIViewController 和更改状态的两种设计,全部带有动画?

标签: iosuiviewcontrolleruikituistoryboardios-autolayout

解决方案


实现这一点的最佳方法几乎是在代码中操纵约束,

情节提要UIViews仅以初始状态直观地声明。

因为你不能给出相同的 2 个设计,UIViewController但你可以肯定地操纵它的状态。

在代码中,您可以以干净的方式为约束设置动画、删除、添加和调整大小。

目前UIStoryBoard不支持有 2 个相同的设计,UIViewController 据我从您的问题中得到的是,您在做一些简单的事情,例如动画和约束调整大小,而实现这一点的方法是在代码中操作约束。

如何:

只需将@IBOutlet约束从 中拖到UIViewController类中UIStoryBoard,您就可以调整其属性,例如.constantAnd .firstAnchor

快捷回答:不,你不能UIViewController在故事板中有两个相同的设计


推荐阅读