1.先判断设备是否支持四个方向的旋转。
操作步骤为:选中项目 --》 targets --> summary --> supported interface orientations 将四个设备的方向选上。
2.查看项目的.plist文件 , 看supported interface orientations 是否有四个方向,有四个就代表支持四个方向了。(home button)
5.还有一个要注意的问题就是,旋转时不能用 addSubview: 方法,直接嵌套view。这样是不能旋转的。
比如:(1).[self.window addSubview:viewController.view];
(2).self.window.rootViewController = viewController;
第一种方法是不可取的。用第二种方法才能达到旋转的目的。
操作步骤为:选中项目 --》 targets --> summary --> supported interface orientations 将四个设备的方向选上。
2.查看项目的.plist文件 , 看supported interface orientations 是否有四个方向,有四个就代表支持四个方向了。(home button)
3.ios 6.0 版本要支持四个方向的旋转,还要添加下面的代码:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0
- (BOOL)shouldAutorate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll; //UIInterfaceOrientationMaskAll表示四个方向都支持
}
#endif
4.旋转时,自动调用的方法。旋转操作:
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
NSLog(@"视图旋转之前自动调用");
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
NSLog(@"螢幕向左橫置.................");
coreDraw.frame = CGRectMake(0, 0, 480, 300);
[coreDraw setGraphAndHostingView:CGRectMake(0, 0, 480, 300)];
}else if (toInterfaceOrientation == UIInterfaceOrientationPortrait){
NSLog(@"螢幕直立..................");
coreDraw.frame = CGRectMake(0, 0, 320, 460);
[coreDraw setGraphAndHostingView:CGRectMake(0, 0, 320, 460)];
}else if (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
NSLog(@"螢幕直立,上下顛倒................");
coreDraw.frame = CGRectMake(0, 0, 320, 460);
[coreDraw setGraphAndHostingView:CGRectMake(0, 0, 320, 460)];
}else{
NSLog(@"螢幕向右橫置.................");
coreDraw.frame = CGRectMake(0, 0, 480, 300);
[coreDraw setGraphAndHostingView:CGRectMake(0, 0, 480, 300)];
}
}
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
NSLog(@"视图旋转完成之后自动调用");
}
5.还有一个要注意的问题就是,旋转时不能用 addSubview: 方法,直接嵌套view。这样是不能旋转的。
比如:(1).[self.window addSubview:viewController.view];
(2).self.window.rootViewController = viewController;
第一种方法是不可取的。用第二种方法才能达到旋转的目的。