【发布时间】:2016-02-09 18:43:16
【问题描述】:
我没有让它工作,我不知道为什么......其他问题+答案很遗憾没有帮助。
测试设备:
iPhone 6
iPad 2
相关代码:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator){
updateConstraints()
}
override func viewWillLayoutSubview() {
updateConstraints()
}
func updateConstraints() {
if UIDevice.currentDevice().orientation.isLandscape {
NSLayoutConstraint.activateConstraints(layoutLandscape!)
NSLayoutConstraint.deactivateConstraints(layoutPortrait!)
}
else {
NSLayoutConstraint.activateConstraints(layoutPortrait!)
NSLayoutConstraint.deactivateConstraints(layoutLandscape!)
}
view.layoutIfNeeded()
}
layoutLandscape 和 layoutPortrait 是约束数组。
确实有效的情况:
- iPad 加载视图、纵向和横向
- iPad 旋转视图、纵向和横向
- iPhone 加载视图、纵向和横向
- iPhone 旋转视图,只有横向 -> 纵向
不起作用:
- iPhone 纵向 -> 横向
当我在情节提要中将肖像激活为默认值时,iPhone 旋转以这种方式工作。如果我将其更改为横向约束,则纵向 -> 横向有效,而另一个则无效。
错误消息(也没有真正帮助......)只是我打破了一些限制(这些限制很多,很难缩小范围),但是我想知道为什么它在我在 iPhone 上以两个方向加载视图。
为什么它完全可以在 iPad 上运行?这并不像那个东西比 iPhone 或类似的东西有更高的分辨率。
谢谢:)
【问题讨论】: