IOS竖屏应用单个页面横屏的解决办法

时间:2023-03-08 17:29:08

昨天朋友问我,怎么实现在竖屏的应用里,显示一个横屏的应用,由于也没做过

就说不知道了,但是我觉得会有这样的API ,因为我手机里就安装有这种类型的软件

今天早上起来,就想做一个Demo出来,惯例的是查找资料,测试是否可以使用,但是

查找了都写的不是很清楚,很容易造成没法实现想要的效果,所以想重新写过一个

希望能帮到有这个需求的朋友。(这个没什么经验,的是照着网上的资料拼凑起来,

如果有错误,请见谅,有更好的办法也可以告诉我)

实现的效果:

页面大部分是竖屏,个别页面可以旋转手机时页面变为横屏(其实朋友的需求是,进入

这个页面就是横屏的,不知道怎么弄)。

实现步骤:

1.使应用可以横屏,新创建的默认就可以

IOS竖屏应用单个页面横屏的解决办法

2.在跟视图里实现以下的方法(导航控制器和TabBar控制器的可以)

-(BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
return [self.viewControllers.lastObject supportedInterfaceOrientations];
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [self.viewControllers.lastObject preferredInterfaceOrientationForPresentation];
}

3.在不需要横屏的视图控制器里面实现以下方法

-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait ;
}
- (BOOL)shouldAutorotate
{
return NO;
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}

4,需要横屏的页面不需要其他的处理就可以了。