MPMoviePlayerController全屏模式下横屏与竖屏切换
来源:互联网 发布:上证指数如何计算 知乎 编辑:程序博客网 时间:2024/05/23 18:06
使用系统的MPMoviePlayerController处理多媒体视频文件的时候,会遇到在进行全屏切换时,进入全屏后播放画面会发现还是竖屏模式,这样的话就完全失去了全屏模式的有优势了,浪费了很多屏幕空间,查阅了一些资料,发现可以通过注册监听通知中心关于MPMoviePlayerController控件的进入全屏(MPMoviePlayerWillEnterFullscreenNotification)和退出全屏(MPMoviePlayerWillExitFullscreenNotification)消息,判断当前应用所处状态,之后根据状态来设置屏幕的方向,从而对屏幕旋转方向进行控制。
AppDelegate.h文件中引入MediaPlayer头文件
#import <MediaPlayer/MediaPlayer.h>
声明记录当前应用状态变量
@implementation AppDelegate{ BOOL _isFullScreen;}...@end
注册进入全屏和退出全屏消息事件
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willEnterFullScreen:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil];[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willExitFullScreen:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];
实现上面消息对应的事件响应函数
- (void)willEnterFullScreen:(NSNotification *)notification{ _isFullScreen = YES;}- (void)willExitFullScreen:(NSNotification *)notification{ _isFullScreen = NO;}
实现application:supportedInterfaceOrientationsForWindow:方法
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ if (_isFullScreen) { return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight; } else { return UIInterfaceOrientationMaskPortrait; }}
如果需要跨界面拿到_isFullScreen,只需要Appdelegate这个单例,然后设置_isFullScreen属性即可。
0 0
- MPMoviePlayerController全屏模式下横屏与竖屏切换
- 窗口模式与全屏模式切换,创建全屏窗口
- 安卓全屏模式与切换
- 解决iOS工程 默认竖屏 MPMoviePlayerController 全屏不能横屏的情况
- 4.4.6 切换全屏模式
- 系统MPMoviePlayerController点击全屏按钮横屏显示方法
- iOS编程——MPMoviePlayerController之切换闪屏问题
- Android 动态切换全屏和非全屏模式
- Android 动态切换全屏和非全屏模式
- 切换securecrt的全屏模式--ALT+ENTER
- android应用全屏模式的切换
- 全屏与非全屏动态切换的正确方式
- android全屏与非全屏的切换设置
- PuTTY全屏模式与退出
- PuTTY全屏模式与退出
- PuTTY全屏模式与退出
- 全屏切换
- 全屏切换
- 谈谈~~
- http://me.rice.edu/~akin/
- Android 属性动画(Property Animation)
- DTD与XSD的一个范例
- Memcached java client使用中的问题
- MPMoviePlayerController全屏模式下横屏与竖屏切换
- 开发一个好项目:七、创建Contract类,连接presenter和view
- RxJava操作符实践:3_转换操作之_toMap
- 文件过长无法删除
- 数据库授权操作
- 代码优化(转)
- Android 事件分发机制总结
- mssql 查看编码
- mysql按ip查看连接数