iOS:在旋转期间将视图保持在屏幕中心

时间:2015-03-27 18:28:42

标签: ios rotation

如果查看默认警报视图,在显示时,它会在设备旋转期间保持完全相同的位置。它似乎从自己的中心旋转。

我已经制作了自定义提醒视图,并希望采用相同的行为。我有一个容器视图,其中包括一个背景视图(将屏幕变暗一些)和警报视图。当我旋转时,警报视图跳转到旋转后的新中心,然后动画到位。如何让它从自己的中心旋转?

2 个答案:

答案 0 :(得分:3)

问题仅在于定位警报视图的约束不正确。如果它们是正确的,中心将自动发生并在旋转期间保持不变。

例如:

v.autoresizingMask = .FlexibleTopMargin | .FlexibleBottomMargin | .FlexibleLeftMargin | .FlexibleRightMargin
v.setTranslatesAutoresizingMaskIntoConstraints(true)

答案 1 :(得分:1)

这是Matt在Swift 2+语法中的解决方案:

v.autoresizingMask = [.FlexibleTopMargin , .FlexibleBottomMargin , .FlexibleLeftMargin , .FlexibleRightMargin]
v.translatesAutoresizingMaskIntoConstraints = true