iOS中仅当视屏全屏播放时支持视屏旋转
来源:互联网 发布:软考程序员百度云 编辑:程序博客网 时间:2024/05/19 20:47
开发环境:XCode7.2
项目设置:Device Orientation仅勾选Portrait Deployment Target7.0 使用MediaPlayer
需求:在视屏进入全屏播放时,视屏视图旋转,达到真的全屏播放
实现:①在AppDelegate.h文件中声明一个BOOL类型的变量,记录是否允许旋转:
@property (nonatomic, assign) BOOL allowRotation;
②在AppDelegate.m文件中添加方法内容:(方法为系统提供)
- (UIInterfaceOrientationMask) application: (UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
if(self.allowRotation) {
//无特殊要求,故直接返回支持所有方向旋转
return UIInterfaceOrientationMaskAll;
}else{
//当不允许旋转的时候,只支持默认的方向
return UIInterfaceOrientationMaskPortrait;
}
}
③在有播放器的viewController中导入AppDelegate
#import"AppDelegate.h"
④添加观察者方法:(自己定义,定以后可在viewDidLoad中调用)
- (void)addNotification {
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(willEnterFullScreen:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil];//进入全屏的通知
[center addObserver:self selector:@selector(willExitFullScreen:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];//退出全屏的通知
}
- (void)willEnterFullScreen:(NSNotification*)notification
{
AppDelegate*delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
//设置在进入全屏时,允许旋转
delegate.allowRotation=YES;
}
- (void)willExitFullScreen:(NSNotification*)notification
{
AppDelegate*delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
//设置退出全屏模式禁止旋转
delegate.allowRotation=NO;
}
//释放观察者
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
通过以上方法达到了项目仅支持原始方向的竖屏,但当播放器进入全屏模式的时候,可以旋转播放器,使视频全屏播放
- iOS中仅当视屏全屏播放时支持视屏旋转
- iOS-webView加载视屏横向全屏播放(video)
- android listview中播放视频,支持全屏
- iOS设备旋转支持横屏
- ios横竖屏转换相关<全屏播放界面处理>
- iOS-横竖屏管理,支持所有方向旋转时用代码控制允许旋转&不允许旋转
- 关于Google浏览器使用layer弹出层video标签播放视屏无法全屏播放问题
- iOS仅支持竖屏,如何让一个controller支持横屏?
- ios,安卓实现video小屏播放,不全屏播放的方法
- IOS视屏播放过程中横竖屏切换
- ios中如何替换uiwebview中的视屏播放器
- ios开发 只让播放视频的 时候能够全屏横屏 其他全部非全屏非横屏
- 视屏播放_使用原生MediaPlayer+TextureView实现全屏、小窗口、视频列表、m3u8监控播放
- iOS中关于旋转屏的控制
- iOS 全局禁止横屏,但UIWebView 全屏横屏播放视频的解决办法
- 实现iOS全局禁止横屏,但kxmovie全屏横屏播放视频
- iOS UIWebView 全屏播放视频横屏 app其他页面不支持横屏
- iOS UIWebView 全屏播放视频, 需横屏,单app不支持横屏, 解决办法
- AsyncSocket(简单的实现与服务器的发送消息,接收消息)
- myeclipse卡死强在 loading workbench解决
- Java 垃圾回收
- CSS中边框border属性、border-raduis圆角与border-image详解
- pycaffe安装与路径配置
- iOS中仅当视屏全屏播放时支持视屏旋转
- ubuntu配置JDK
- Office电脑使用常见问题及解决方法
- jasperreport+iReport 5.6.0 版本下载地址
- 常用英语单词
- 希尔排序(shellsort)
- 单向加密算法
- golang 本地连接mssql sql server
- 多边形和圆的面积并