自从更新到iOS 9.0以来,我正试图清除我的应用程序的所有警告,我正在尝试这样做:
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0
// less than iOS 9.0
- (NSUInteger)supportedInterfaceOrientations
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return UIInterfaceOrientationMaskPortrait;
} else {
return UIInterfaceOrientationMaskAll;
}
}
#else
// iOS 9.0 or later
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return UIInterfaceOrientationMaskPortrait;
} else {
return UIInterfaceOrientationMaskAll;
}
}
#endif
但是我仍然收到所有警告,我做错了什么?
我发现此说明在iOS 8.0和iOS 7.0中无法正常运行。
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
答案 0 :(得分:1)
我想 - (NSUInteger)supportedInterfaceOrientations {}在iOS 9.0中不起作用。
因此,您必须使用 - (UIInterfaceOrientationMask)supportedInterfaceOrientations。它适用于所有iOS版本。
不要检查iOS版本。只需使用
- (UIInterfaceOrientationMask)所有iOS版本的supportedInterfaceOrientations方法。
答案 1 :(得分:-2)
您的#if代码和#else代码完全相同。那么你期待什么?