如何在视图中约束元素?

时间:2019-04-15 13:29:46

标签: swift uiview uibutton constraints

重要提示:这不是主视图,而是我在主视图上添加的视图,它具有其大小。

我正在尝试约束this view,以使其在每个iOS设备上可调整大小。我希望它看起来像您一样。
我在网上遵循了多份指南,但是即使我完全按照我的意愿去做,对我来说似乎也不起作用。 这是我尝试过的:
我设置了取消按钮的宽度,然后将其约束到视图(拖尾,底部,前导)并垂直放置在容器中。我对上方的按钮做了同样的操作,但是底部的约束附加到了按钮上。

关于带有许多方形按钮的视图I:
将视图限制在其下方的按钮(底部),设置其宽度,将其垂直放置在容器中,顶部空间放置到安全区域(我的视图上方有一个导航栏),并在尾部和前导空间进行查看。

关于我视图内部的按钮,我为它们中的每个按钮设置了相等的宽度和高度,然后我将它们的顶部,底部和底部的约束(它们之间或它们的视图之间的间距均为7)限制了。

这一切都不起作用,因为蓝天视图变得越来越大,或者超出了屏幕,或者一切都变得很奇怪...我该怎么办?

2 个答案:

答案 0 :(得分:0)

我认为这个问题很难回答。但我会努力的:D 因此,我要做的第一件事是将粉红色的正方形放在stackView内,并让自动布局对我们有所帮助。然后,我将约束blueSkyView.top .lead和.trailing。将stackView的.top,.leading,.trailing,.bottom约束到blueSkyView之后,可以放大蓝天视图以适合内部的堆栈。 然后像您一样将按钮约束到底部。例如,考虑使用一些大于从蓝天到“随机颜色”按钮的约束,以确保它们永远不会重叠。

答案 1 :(得分:0)

如果要在使用其他设备时长时间使该视图变成正方形,则需要为视图以及前导和尾随给出高度限制。 然后为高度限制设置出口。在 viewDidAppear 方法中,应编写以下代码:

heightConstraint.constant = myView.frame.size.width