iOS中的重力就像android中的重力一样

iOS中的重力就像android中的重力一样,ios,xamarin.ios,Ios,Xamarin.ios,在iOS中,有没有像在android中使用android:gravity=“center\u horizontal”这样的简单方法来集中控制视图中的控件?我可以在添加控件之前计算每个控件的位置,并在屏幕旋转时重新计算,但我想知道是否有更好的解决方案。请注意,布局重力与Android中的重力不同 layout\u gravity用于容器视图中的对齐,gravity用于self中的内容对齐 看完你的问题后,我想你指的是重力而不是重力 好的,让我们讨论一下你的观点 ,正如文档所述,它只是一个容器视图,

在iOS中,有没有像在android中使用android:gravity=“center\u horizontal”这样的简单方法来集中控制视图中的控件?我可以在添加控件之前计算每个控件的位置,并在屏幕旋转时重新计算,但我想知道是否有更好的解决方案。

请注意,布局重力与Android中的重力不同

layout\u gravity用于容器视图中的对齐,gravity用于self中的内容对齐

看完你的问题后,我想你指的是重力而不是重力

好的,让我们讨论一下你的观点

,正如文档所述,它只是一个容器视图,可以控制其子视图上的分布、对齐、间距、xxx,并且是使用autoLayout创建的,这意味着您不需要管理子视图上的那些约束

如您所见,stackView的对齐方式将应用于其上的所有控件,而不是单个控件

要实现布局重力的效果,必须手动管理约束

以及中心按钮上的约束


使用
UIStackView
。我以前没有为Android开发过,所以我自己无法做出明确的判断,但使用AutoLayout添加一两个居中约束就可以了吗?UIStackView应该是布局视图的默认工具。然后它会处理为您悬挂的任何旋转或屏幕大小。@Fogmeister这太笼统了,有太多情况下UIStackView不合适,老实说,我认为我们在任何iOS应用程序中都没有使用它,只是没有必要使用它。就我个人而言,我会使用居中约束,并依靠自动布局为你做一些聪明的事情。@Digitalsa1nt我所用的词完全来自苹果。是的,它不能做所有的事情。但是它可以做很多事情,并且应该是布局视图的起点。如果需要,返回到自动布局约束。我知道布局重力和重力之间的区别,我需要重力之类的东西。如果我将此应用于视图,我希望此视图中的所有控件都居中(这是重力),而不是在其父视图中居中的视图(如布局重力)。好吧,我误解了,因此UIStackView可以解决您的问题,您只需将UIStackViewAlignment设置为中心。当堆栈视图的轴水平时,您只能设置顶部,底部,中间,同样的原因,当处于纵向时,只有前导,尾随才能生效。