我在屏幕上有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 |
我试图实现的目标在模拟器上运行正常,但我相信使用约束可以实现更好的方法。
我想如果我可以设法对myButton1
和myButton2
进行分组,我可以将+y
原点归于该群组,然后通过给予他们一段距离{{1}来水平居中按钮彼此(我的意思是,两个按钮之间的距离 - 希望这是有道理的)。
这样做的正确方法是什么?或者有更好的方法来实现这一目标吗?
答案 0 :(得分:0)
我的建议是,您将两个按钮放入容器视图中,并将该容器置于超级视图中。
所以它看起来像这样:
+--------------------------------+
|+--------------++--------------+|
|| Button1 || Button 2 ||
|+--------------++--------------+|
+--------------------------------+
因此,您需要完成以下步骤:
您在问号标签中指定了自动布局和布局限制,因此我假设您使用自动布局(您的代码不会使用自动布局或约束,这就是我提出这个问题的原因)。
约束(如果在按钮和容器视图之间正确设置)应正确调整容器视图的大小,并且一旦容器视图完成布局,容器的超级视图的水平约束也将起作用,有效地集中容器,因此也是两个按钮。
我希望能让事情变得清晰,如果您需要进一步的帮助或者某些事情仍然不清楚,请告诉我。