自动布局 - 如何分配内容以按比例填充屏幕[重复]

Posted

技术标签:

【中文标题】自动布局 - 如何分配内容以按比例填充屏幕[重复]【英文标题】:Autolayout - how to distribute things to proportionally fill screen [duplicate] 【发布时间】:2018-12-19 12:56:02 【问题描述】:

在我的应用程序中,我有四个方形按钮,我希望根据设置的边距限制为每个不同的屏幕尺寸按比例更改尺寸。但是,我无法在视图控制器的后沿和按钮的前导部分之间设置比例边距大小,它需要一个硬数字。我该如何解决这个问题。因为我希望应用程序适合所有屏幕尺寸,所以我希望自动布局根据屏幕比例来测量所有内容,但这似乎是不可能的。

任何有关如何解决此问题的建议将不胜感激!

谢谢

【问题讨论】:

使用集合视图 你能更清楚你想要达到什么目标吗? 你有4个按钮还是9个按钮?还是您要求两种情况?你想让按钮均匀分布吗?或者你想让他们改变大小? 我希望这些按钮平均分布在屏幕的下半部分。显然,对于一种屏幕尺寸,我可以对数字进行硬编码,但我希望按钮和按钮边距针对不同的屏幕尺寸按比例变化。对于这两种情况都是理想的!谢谢 使用堆栈视图,你将实现你想要的,它会根据屏幕自动调整,给堆栈约束 【参考方案1】:

我看到您希望按钮的边距和大小与屏幕大小相关。 我建议您在 Interface Builder 中只为每个 size class 设置按钮周围的边距。如果按钮的数量是固定的,这可能是解决您问题的最简单方法。

【讨论】:

以上是关于自动布局 - 如何分配内容以按比例填充屏幕[重复]的主要内容,如果未能解决你的问题,请参考以下文章

UIViews 的高度与屏幕的高度成比例(自动布局)

如何为不同的屏幕尺寸创建具有自动布局的比例视图?

在方向更改时自动缩放 UIView 以按比例缩放以适合父视图

如何让 UICollectionView 在不离开屏幕的情况下使用自动布局填充其包含滚动视图的宽度?

使用自动布局更改方向时更改内容顺序

我希望两个按钮具有相同的宽度并使用自动布局从屏幕顶部按比例在所有屏幕尺寸中定位自己?