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);
}
这个问题纠结了好几天了,总结网上各位大神方法,实现了最基本的功能,剩下的就是判断设备当前的方向了,继续努力!!