昨天朋友问我,怎么实现在竖屏的应用里,显示一个横屏的应用,由于也没做过
就说不知道了,但是我觉得会有这样的API ,因为我手机里就安装有这种类型的软件
今天早上起来,就想做一个Demo出来,惯例的是查找资料,测试是否可以使用,但是
查找了都写的不是很清楚,很容易造成没法实现想要的效果,所以想重新写过一个
希望能帮到有这个需求的朋友。(这个没什么经验,的是照着网上的资料拼凑起来,
如果有错误,请见谅,有更好的办法也可以告诉我)
实现的效果:
页面大部分是竖屏,个别页面可以旋转手机时页面变为横屏(其实朋友的需求是,进入
这个页面就是横屏的,不知道怎么弄)。
实现步骤:
1.使应用可以横屏,新创建的默认就可以
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,需要横屏的页面不需要其他的处理就可以了。