自动布局旋转修复位置

时间:2014-03-03 22:24:08

标签: ios rotation autolayout

嗨我正在努力解决xcode5中的自动布局问题。也许我完全错了,还有另一种方法可以得到我想要的结果。

看看:

这是我的肖像视图,我是如何在界面设计器中创建的

enter image description here

这就是我希望按钮保持并以横向旋转的方式

enter image description here

那么有没有办法在界面构建器和自动布局中实现这一点,还是有另一种方法可以实现?

2 个答案:

答案 0 :(得分:1)

是的,有。

有两种方式:短和“右”。

简短

  1. 在viewDidLoad中添加通知(并且不要忘记在dealloc中取消订阅)

    //不要忘记第一行,否则你将无法定位。 [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged :) name:UIDeviceOrientationDidChangeNotification对象:nil];

  2. 添加约束底部间距视图 - Superview

  3. 将此约束连接到您的代码(当您连接插座时)
  4. 如果orientationChanged方法设置了所需的值:

    self.constaint.constant = UIDeviceOrientationIsLandscape([UIApplication sharedApplication] .statusBarOrientation)? 10:200;

  5. 正确的方式

    所有处理约束的代码都应该转到 - (void)UIView的updateConstraints。

答案 1 :(得分:0)

您要求按钮从底部一直移动到顶部的所有方向。这不会自动发生!您将自己在代码中移动按钮。在视图控制器上实现viewWillLayoutSubviews并将按钮放在那里。