关闭

iOS 项目中,特定页面强制横屏

标签: objective-c强制横屏
2251人阅读 评论(4) 收藏 举报
分类:

一般情况下,一个项目要么可以横屏要么不可以横屏,但是也有些APP不是这样的,整个项目只支持竖屏但是需要加载游戏界面或者是必须横屏播放视频之类的,就要强制把某些页面设置为横屏:

首先要在我们项目的AppDelegate.h里边定义一个变量来设定屏幕的横屏或是竖屏

@property(nonatomic,assign)NSInteger rotation_Style;

然后在AppDelegate.m里边重写方法:

 - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

 {

       if (_rotation_Style == 1) {//如果是1就让屏幕强制横屏

               return UIInterfaceOrientationMaskLandscapeRight|UIInterfaceOrientationMaskLandscapeLeft;

             }

        else

             {

                    return (UIInterfaceOrientationMaskPortrait);

             }

 }



然后在需要强制横屏的页面导入AppDelegate.h头文件

然后两句代码:

AppDelegate * appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

    appDelegate.rotation_Style = 1;


搞定!


当然,如果就这样,那么会出问题的,就是你返回上个页面,上个页面就会抽风一样也是横屏了:

所以在返回的方法中也加上两句代码:

AppDelegate * appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

    appDelegate.rotation_Style = 3;//这里可以随便写,只要不是1




1
0
查看评论

iOS中如何实现单个页面支持横竖屏(其他页面只能竖屏)

最近在自己的项目里面 有需要做一个需求 : app中某一个页面支持横竖屏, 而其他页面只能竖屏。 实现方法如下: 1 首先需要Xcode中选中支持的屏幕方向 2 Appdelegate中 .h@property (nonatomic,assign)NSInteger allowRota...
  • SandyLoo
  • SandyLoo
  • 2016-07-27 11:52
  • 6598

iOS 个别页面强制横屏,其他页面竖屏

在AppDelegate.h里面添加@property(nonatomic,assign)NSInteger allowRotation;在AppDelegate.m文件里面添加- (NSUInteger)application:(UIApplication *)application suppor...
  • u012198553
  • u012198553
  • 2016-02-15 22:46
  • 1815

iOS部分页面横竖屏解决方案

系统支持横屏顺序 默认读取plist里面设置的方向(优先级最高)等同于Xcode Geneal设置里面勾选 application window设置的级别次之 然后是UINavigationcontroller/UITabbarController 级别最低的是viewcontroller ...
  • rainbowFactory
  • rainbowFactory
  • 2017-06-29 14:33
  • 297

iOS开发关于某页面横竖屏切换的坑

我们在使用模态视图的时候,如果需要再接下来的页面可以进行横竖屏切换,就必须注意一个大坑,我查遍了网络,各种方法用尽了,终于想到了解决方案。 需求:   当前页面必须横屏显示,不能竖屏显示,模态视图弹出页面可以进行横竖屏切换。同时,该项目同时使用导航栏和工具栏。 解决方案: ...
  • Iven_ma
  • Iven_ma
  • 2017-06-12 13:36
  • 746

iOS 项目中,特定页面强制横屏

一般情况下,一个项目要么可以横屏要么不可以横屏,但是也有些APP不是这样的,整个项目只支持竖屏但是需要加载游戏界面或者是必须横屏播放视频之类的,就要强制把某些页面设置为横屏: 首先要在我们项目的AppDelegate.h里边定义一个变量来设定屏幕的横屏或是竖屏 @property(non...
  • j755ing
  • j755ing
  • 2016-05-30 14:45
  • 2251

iOS设置某个界面强制横屏,进入就横屏

原文地址:http://www.cnblogs.com/niit-soft-518/p/5611298.html  方案一: 使用 presentViewController 1.首先设置项目 支持的屏幕方向 2.写一个子类CusNavigationControlle...
  • u011604049
  • u011604049
  • 2016-08-12 15:22
  • 4913

项目中某个页面强制横屏

需求:项目中某个页面强制横屏,其他页面仍为竖屏 解决:     在viewDidLoad中调用下面的方法 - (void)hengping{          [[BXNavigationItemHelper setupRetur...
  • u013349304
  • u013349304
  • 2016-05-23 10:59
  • 688

iOS 指定页面允许旋转/ 指定页面强制横屏

1.  在APPdelegate.h 中 @property (assign , nonatomic) BOOL isPortrait; APPdelegate.m 中 -(UIInterfaceOrientationMask)application:(UIApplication...
  • flg1554112450
  • flg1554112450
  • 2017-09-14 16:12
  • 191

IOS 禁止界面横屏显示

在不关闭项目的横屏功能的话 在AppDelegate中添加如下代码也 禁用所有页面横屏功能 - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsFo...
  • s133315202
  • s133315202
  • 2015-04-22 11:31
  • 658

iOS设置某个界面强制横屏,进入就横屏

最近有一个项目,例如:A界面跳转到B界面,A界面是竖屏的,B界面进入就要横屏。 花了半天的时间在网上搜索解决方案,有些论坛的大牛也就贴两行代码,具体实现也没有,对我们这种菜鸟造成一万点真实伤害。为了避免后人在浪费时间,在这里我整理一下,并且上传Demo到GitHub。在iOS7 8 9 上运行...
  • baidu_25743639
  • baidu_25743639
  • 2016-07-29 17:11
  • 431
    个人资料
    • 访问:49523次
    • 积分:795
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:3篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论