iOS 8 中弃用了 InterfaceOrientation
InterfaceOrientation deprecated in iOS 8
我没有在我的项目中使用 Size 类 并继续使用旧方法来定位视图控制器。我收到弃用警告,例如当我使用以下代码时:
if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
...
}
我搜索了很多,但找不到正确的修复方法。有什么建议吗?
应该改变
if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
...
}
至
if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])) {
...
}
自iOS8起,Apple 推荐使用 TraitCollections (Size 类) 而不是 interfaceOrientation。
此外,由于 iOS 9 和新的 iPad 功能 "Multitasking",在某些情况下设备方向不符合 window 比例! (这会导致您的应用程序中断 UI)
但是,有时 TraitCollections 并不能满足您的所有设计需求。对于这些情况,Apple 建议比较视图的边界:
if view.bounds.size.width > view.bounds.size.height {
// ...
}
我很惊讶,但您可以查看 21'15 的 WWDC 2015 视频 Getting Started with Multitasking on iPad in iOS 9。
有些人可能需要使用 UIDevice Orientation
if (UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation])) {
...
}
而不是状态栏方向
if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])) {
...
}
我没有在我的项目中使用 Size 类 并继续使用旧方法来定位视图控制器。我收到弃用警告,例如当我使用以下代码时:
if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
...
}
我搜索了很多,但找不到正确的修复方法。有什么建议吗?
应该改变
if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
...
}
至
if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])) {
...
}
自iOS8起,Apple 推荐使用 TraitCollections (Size 类) 而不是 interfaceOrientation。
此外,由于 iOS 9 和新的 iPad 功能 "Multitasking",在某些情况下设备方向不符合 window 比例! (这会导致您的应用程序中断 UI)
但是,有时 TraitCollections 并不能满足您的所有设计需求。对于这些情况,Apple 建议比较视图的边界:
if view.bounds.size.width > view.bounds.size.height {
// ...
}
我很惊讶,但您可以查看 21'15 的 WWDC 2015 视频 Getting Started with Multitasking on iPad in iOS 9。
有些人可能需要使用 UIDevice Orientation
if (UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation])) {
...
}
而不是状态栏方向
if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])) {
...
}