首页 > 解决方案 > iOS 自动布局 - 不可能的情况?

问题描述

我需要创建一个具有 3 个视图的启动屏幕故事板。中间视图必须有 4:3 的比例,顶视图必须占据剩余空间的 30%,而下视图必须占据剩余空间。

例如,当视图为 375 x 667...

中间视图:375 x 4/3 = 500

顶视图 (667 - 500) * 30% = 50

下视图:667 - 500 - 50 = 117

我尝试了我能想到的一切(包括使用 UIStackView),但找不到让它工作的方法。

可能吗?什么是正确的方法?

非常感谢!

在此处输入图像描述

标签: iosautolayout

解决方案


正如你所说的那样,你不能用自动布局轻易做到这一点,因为你的第一个视图应该占据 30% 的东西不是一块连续的空间。你可以通过添加两个不可见的视图来做到这一点,用一个视图的高度来衡量“剩余空间”,你可以取 30% 的高度,但这并不值得。只需直接在代码中layoutSubviews或类似代码中实现您的要求。


推荐阅读