所以...我刚刚花了整个下午的时间,看了各种帖子并尝试了许多方法来使它工作,但没有成功。现在,我已经把它简化到最简单的情况,但仍然不能工作。
在这个简单的场景中,我有一个故事板,只包含一个UINavigationController和一个单一的初始视图控制器:
看到IOS 6自动旋转方法的变化后,我创建了一个UINavigationController的子类,并在这个子类和第一个视图控制器上实现了shouldAutorotate和supportedInterfaceOrientations方法:
导航控制器:
项目设置指定应支持所有旋转:
然而,这似乎没有任何效果...当我在模拟器中运行时,会出现以下情况:
请问我错过了什么?这让我疯掉!我至少想让这个简单的例子工作,这样我才有希望使我的相当大的应用程序能够工作!
在这个简单的场景中,我有一个故事板,只包含一个UINavigationController和一个单一的初始视图控制器:
![enter image description here](https://istack.dev59.com/T22aB.webp)
导航控制器:
// NavController.h
#import <UIKit/UIKit.h>
@interface NavController : UINavigationController
@end
// NavController.m
#import "NavController.h"
@interface NavController ()
@end
@implementation NavController
- (BOOL) shouldAutorotate {
return YES;
}
- (NSUInteger) supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
@end
第一个控制器
// FirstController.h
#import <UIKit/UIKit.h>
@interface FirstController : UIViewController
@end
// FirstController.m
#import "FirstController.h"
@interface FirstController ()
@end
@implementation FirstController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
@end
项目设置指定应支持所有旋转:
![enter image description here](https://istack.dev59.com/Y0wrn.webp)
![enter image description here](https://istack.dev59.com/fL75a.webp)
![enter image description here](https://istack.dev59.com/RxieM.webp)