1.在APPDelegate里,将
- [self.window addSubview:self.viewController.view];
改为
- 判断当前设备系统
- if ([[[UIDevice currentDevice]systemVersion]floatValue]>=4.0) {
- //4.0以后支持
- self.window.rootViewController = self.viewController;
- }
- else
- [self.window addSubview:self.viewController.view];
2.在viewController.m中重写方法
- //ios6以后设备旋转
- - (BOOL)shouldAutorotate
- {
- return YES;
- }
- - (NSUInteger)supportedInterfaceOrientations
- {
- NSLog(@"ios6");
- return UIInterfaceOrientationMaskAll;
- // self.interfaceOrientation
- }
- - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
- {
- NSLog(@"设备旋转");
- }
3,在info。plist中增加相对应的方向即可
4.
获取自身屏幕方法,不要使用[[UIDevice curentDevice] orientation]
而是要使用self.interfaceOrientation或[[UIApplicationsharedApplication]statusBarOrientation]
ios6以前设备
- //ios 5
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
- {
- // return NO;
- return (toInterfaceOrientation == UIInterfaceOrientationMaskLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationMaskLandscapeRight);
- }