gpt4 book ai didi

ios - 将 UIButtons 分组为一个层并水平居中

转载 作者:行者123 更新时间:2023-11-28 08:42:51 25 4
gpt4 key购买 nike

我在屏幕上以编程方式创建和放置了 2 个按钮。

let myButton1 = UIButton()
let myButton2 = UIButton()

let myButton1Frame = CGRectMake(anotherField.origin.x + 20, anotherField.origin.y + 80, 30, 30)
myButton1.frame = myButton1Frame

var myButton2Frame = myButton1Frame
myButton2Frame.origin.x += 130
myButton2.frame = myButton2Frame

self.view.addSubview(myButton1)
self.view.addSubview(myButton2)

我试图在视觉上实现的是......

|        AnotherField      |
| |
| myBtn1 myBtn2 |

我尝试实现的目标在 Simulator 上运行良好,但我相信有一种更聪明的方法可以通过使用约束来实现它。


我想如果我能设法将 myButton1myButton2 分组,我可以只给 +y origin 分组,然后将按钮居中通过给它们一个 x 彼此之间的距离 (我的意思是,2 个按钮之间的距离 - 希望这是有意义的)

正确的做法是什么?或者我有更好的方法来实现这一目标吗?

最佳答案

我的建议是将两个按钮都放在一个容器 View 中,并将该容器置于父 View 的中心。

所以它看起来像这样:

+--------------------------------+
|+--------------++--------------+|
|| Button1 || Button 2 ||
|+--------------++--------------+|
+--------------------------------+

因此您需要完成以下步骤:

  • 添加将包含按钮的 View 容器(“按钮容器”)
  • 将两个按钮添加到上述容器中
  • 从按钮向封闭的容器 View 添加完全令人满意的约束。
  • 从容器 View 添加一个水平居中约束到 super View (例如您的 Controller 的 View )。

您在问题标签中指定了自动布局和布局约束,所以我假设您使用了自动布局(您的代码没有使用自动布局或约束,这就是我提出这个问题的原因)。

约束(如果在按钮和容器 View 之间正确设置)应该适本地调整容器 View 的大小,一旦容器 View 完成布局,容器父 View 的水平约束也将发挥作用,有效地将容器居中结果也是你的两个按钮。

我希望这能让事情变得清晰,如果您需要进一步的帮助或者还有什么不清楚的地方,请告诉我。

关于ios - 将 UIButtons 分组为一个层并水平居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36024161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com