iOS项目不支持横屏的前提下某个界面横竖屏(旋转)的解决方案
来源:互联网 发布:mcu和单片机的区别 编辑:程序博客网 时间:2024/05/16 06:16
项目需求(场景): 整个项目不需要旋转(当然了,所有方向的屏幕适配都做好的情况下是没问题的,但是没有必要这么劳民伤财。)的前提下,播放界面控制器需要支持屏幕的其他方向的旋转。
解决方案:(分为四步)
步骤1、
设置
targets——>general——>device Orientation
步骤2、
<1>在 AppDelegate.h 里面 加一个属性
@property (nonatomic,assign)BOOL allowRotation;//这个属性标识屏幕是否允许旋转
<2>在 AppDelegate.m 里面
-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { if (self.allowRotation) {//当允许时,支持所有方向 return UIInterfaceOrientationMaskAll; } //否则 就只有竖屏 return UIInterfaceOrientationMaskPortrait;}
步骤3、
在你想要支持 旋转的控制器 需要导入#import "AppDelegate.h"
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.navigationController.navigationBarHidden = YES; //改变AppDelegate的appdelegete.allowRotation属性 AppDelegate *appdelegete = (AppDelegate *)[UIApplication sharedApplication].delegate; appdelegete.allowRotation = YES;}
- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; self.navigationController.navigationBarHidden = NO; AppDelegate *appdelegete = (AppDelegate *)[UIApplication sharedApplication].delegate; appdelegete.allowRotation = NO;}
步骤4、当你写完这些的时候发现好像可以了,还有问题。
但你横屏播放的状态下 直接返回上个控制器(pop)的时候.
发现那个控制器也是横屏的(当你竖屏时,它会转过来,但是再旋转就不行了。问题就是pop回来不能使横屏啊,应该直接竖屏才是啊)
比如pop回的那个控制器叫 TextViewController
在TextViewController.m
里
//屏幕方向操作-(UIInterfaceOrientationMask)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskPortrait;}
此方法是UIKit
框架中UIViewController.h的公布方法,iOS 6.0后加入
0 0
- iOS项目不支持横屏的前提下某个界面横竖屏(旋转)的解决方案
- iOS的横竖屏切换旋转(禁自动旋转)
- iOS 关于项目中某个界面需要横竖屏切换或者强制横屏
- iOS屏幕(UIViewController)旋转的横竖屏
- 代码处理iOS的横竖屏旋转
- 代码处理 iOS 的横竖屏旋转
- 代码处理 iOS 的横竖屏旋转
- iOS 横竖屏的切换以及个别界面横屏
- iOS设置某个界面允许横竖屏切换
- ios横竖屏解决方案
- ios横竖屏解决方案
- ios横竖屏解决方案
- iOS横竖屏解决方案
- iOS横竖屏解决方案
- iOS横竖屏解决方案
- IOS下的横竖屏切换研究
- iOS之横竖屏旋转
- iOS之横竖屏旋转
- 【leetcode】Array——Search in Rotated Sorted Array II(81)
- iOS开发解决UITableViewCell和添加侧滑手势冲突的问题
- iOS block的理解
- android 的Activity和Service之间的通信
- PHPExcel导入导出Excel文件
- iOS项目不支持横屏的前提下某个界面横竖屏(旋转)的解决方案
- leetcode 313. Super Ugly Number
- 向scrapy中的spider传递参数的几种方法
- python处理excel
- AsyncDisplayKit入门指南
- Win10驱动修复失败问题解决方法
- Leet Code OJ 136. Single Number [Difficulty: Medium]
- OkHttp 使用指南(四)--Recipes
- 关于引用传递的个人理解