ios - UIViewController 布局更改
问题描述
我有一个 UIViewController,它有 4 个子视图——左视图、右视图、底视图和中心视图。中心视图实际上嵌入了另一个视图控制器(AVPlayerViewController)。按一下按钮,我希望更改左视图和底视图并调整中心视图的大小。中心视图这次也将有一个不同的前导约束,因为它之前挂钩的左视图现在不再存在。
使用自动布局和故事板做这种事情的最简单方法是什么?Storyboards 中是否有办法定义相同 UIViewController 和更改状态的两种设计,全部带有动画?
解决方案
实现这一点的最佳方法几乎是在代码中操纵约束,
情节提要UIViews
仅以初始状态直观地声明。
因为你不能给出相同的 2 个设计,UIViewController
但你可以肯定地操纵它的状态。
在代码中,您可以以干净的方式为约束设置动画、删除、添加和调整大小。
目前UIStoryBoard
不支持有 2 个相同的设计,UIViewController
据我从您的问题中得到的是,您在做一些简单的事情,例如动画和约束调整大小,而实现这一点的方法是在代码中操作约束。
如何:
只需将@IBOutlet
约束从 中拖到UIViewController
类中UIStoryBoard
,您就可以调整其属性,例如.constant
And .firstAnchor
。
快捷回答:不,你不能UIViewController
在故事板中有两个相同的设计
推荐阅读
- .net - FFMPEG 在线程错误:线程被中止
- android - 使用颤振和 vscode 构建 android 应用程序时出错
- java - 如何从文件夹中读取文件名并将它们添加到数组列表中,而无需创建数组并将所有答案循环到数组列表中?
- visual-c++ - 为什么我的 C++ 程序一输入字母或数字就会崩溃?
- reactjs - 选择状态应该存在于反应中的组件
- javascript - 错误“试图对不允许突变的数据库进行突变操作。” 尝试在 ajax 的成功事件中打开事务时
- xml - 具有命名空间的多级 xml 的 XML 转换
- sql - 使用正则表达式 ORACLE 从文本字符串中选择多个文本
- php - ArrayCollection 项目的更改已完成,但未保存在数据库中
- razorengine - RazorEngine 无法解析模板