【发布时间】:2019-09-29 15:52:43
【问题描述】:
我有以下设置
Top View
|
|
LeftView -- MyView --- RightView
|
|
BottomView
我希望 MyView 具有最大可能的帧,纵横比为 1:1,并且应该遵守不跨越 4 个视图(左视图、右视图、顶视图、底视图)中的任何一个的边界条件。如何表达自动布局约束,最好是在 Storyboard 中?
【问题讨论】:
-
外视图的具体内容是什么?
-
我在 2 年前创建了一个 Swift 3 存储库,用于在任何屏幕中以 1:1 视图为中心。我刚刚在github.com/justdfd/Square-Swift5 将其更新为 Swift 5@ 我可以用实际视图替换“边距”,但我认为这对你来说会更好 - 学习时刻等等。基本上,我认为您需要添加比我更多的约束 - 每个居中视图方面都有 两个 约束,一个 和一个 = 具有较低优先级 - 这些需要与周围的视图相似。底线?多个约束希望不同的优先级。
-
如何使用您的解决方案将 MyView 居中(不使用 Andre 建议的 superview 解决方案)?
-
@DeepakSharma - 你想让
MyView以超级视图为中心吗?或者在左/右顶/底视图之间居中?换句话说,如果LeftVIew是 40-pts 宽,RightView是 100-pts 宽,您是否希望MyView的中心位于 superVIew 的中心——这会在它之间留出更大的空间和LeftView以及它与RightView之间的较小空间?还是应该在superView中心的left-of-center,并且在Left/Right之间同样居中? -
希望它在左/右和上/下之间居中。视图可以有不同的大小。
标签: ios swift autolayout uikit ios-autolayout