Ios 使用自动布局更改uiview的大小,并使其始终居中

Ios 使用自动布局更改uiview的大小,并使其始终居中,ios,animation,interface,autolayout,builder,Ios,Animation,Interface,Autolayout,Builder,我有一个uiview,其中包含superview内部垂直居中以及宽度和高度的约束。旋转设备时,uiview应始终位于中心,但我需要能够更改uiview的宽度,但其位置不应更改。我试过: -添加前导约束和尾随约束,但在这种情况下,uiview的宽度完全不变 -若要为宽度添加限制,即宽度应该变大或变小,但在这种情况下,宽度没有改变,uiview只是移动了,如果我正确理解了这个问题,您可能在视图上指定了太多的约束,因此“自动布局”系统会发生冲突,并删除一些约束,然后您想要的约束不会产生任何效果。我建议

我有一个uiview,其中包含superview内部垂直居中以及宽度和高度的约束。旋转设备时,uiview应始终位于中心,但我需要能够更改uiview的宽度,但其位置不应更改。我试过: -添加前导约束和尾随约束,但在这种情况下,uiview的宽度完全不变
-若要为宽度添加限制,即宽度应该变大或变小,但在这种情况下,宽度没有改变,uiview只是移动了

,如果我正确理解了这个问题,您可能在视图上指定了太多的约束,因此“自动布局”系统会发生冲突,并删除一些约束,然后您想要的约束不会产生任何效果。我建议您查看“调试输出”窗口,查看有关约束冲突的警告以及哪些约束冲突正在被删除

您需要的是:删除在此视图上添加的所有约束,然后将其引线约束到超级视图的左侧,将其约束到超级视图内的水平中心。这样,uiview将居中,并相应调整大小。也可以约束高度或约束宽度和高度之间的纵横比。您肯定不希望直接约束高度和宽度


您能详细说明一下吗?我的约束:在您的评论之后,我有下一个约束:并尝试使用:self.widthViewConstaint=1024 UIView.animateWithDuration(0.2,动画:{self.view.layoutifneed()})设置更改的动画