把一个堆栈视图在IOS中的屏幕中心

问题描述:

我是iOS应用程序开发中的新手。在我的应用程序中,我需要在屏幕中心的登录表单。我把所有的元素放在UIStackView中,看起来很好,但是这个UIStackView没有在所有屏幕上居中对齐。如何使这个UIStackView在屏幕的中心。把一个堆栈视图在IOS中的屏幕中心

+4

将自动布局约束应用于stackview,需要2个约束='在容器中水平居中'和'在容器中垂直居中' –

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

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

只是viewDidLoadviewWillTransitionToSize()添加此代码,这取决于如果你的程序允许旋转,viewWillTransitionToSize()是可选的。如果您确实使用viewWillTransitionToSize(),则应该有一个大小参数,您可以用其替换view.frame

viewDidLoad()在启动时被调用,并且在电话被旋转时调用viewWillTransitionToSize(),如果您需要该功能。