在IOS中将堆栈视图放在屏幕的中心

时间:2016-11-18 04:35:19

标签: ios swift uistackview

我是iOS应用程序开发的新手。在我的应用程序中,我需要在屏幕中央的登录表单。我将所有元素放在UIStackView中,看起来很好,但是这个UIStackView没有在所有屏幕中居中对齐。如何在屏幕中心显示UIStackView

2 个答案:

答案 0 :(得分:0)

您可以使用viewDidLoad()viewWillTransitionToSize()以编程方式居中视图。只要你有一个IBOutlet绑定到堆栈视图(在本例中称为stackView),这应该可行

stackView.frame.origin.x = view.frame.width/2 - stackView.frame.width/2
stackView.frame.origin.y = view.frame.height/2 - stackView.frame.width/2

只需在viewDidLoadviewWillTransitionToSize()中添加此代码,具体取决于您的程序是否允许轮换,viewWillTransitionToSize()是可选的。如果您使用viewWillTransitionToSize(),则应该有一个大小参数,您可以将其替换为view.frame

viewDidLoad()在启动时被调用,只要手机被旋转,就会调用viewWillTransitionToSize(),如果你想要这个功能的话。

答案 1 :(得分:0)

添加对齐约束,如下面的屏幕截图所示,它将使所有设备的堆栈视图与屏幕中心对齐