文章标题
2016-06-23 11:28
639 查看
iOS总体竖屏,部分横屏问题
转载自:ht tp://blog.csdn.net/oiken/article/details/48783417
iOS零碎(90)
目录(?)[+]
参考我转载的文章 iOS 全局禁止横屏,但UIWebView 全屏横屏播放视频的解决办法
我本身项目时用FFMpeg + kxmovie 来播放视频
实现为如下:
1,AppDelegate 类添加参数,控制旋屏
// AppDelegate.h
// AppDelegate.m
实现协议的函数
2,KxMovieViewController 类添加进入全屏和退出全屏的函数,在初始化和返回的事件中调用
在初始化事件中调用
在返回事件中调用
结果大致可以接受,但不够理想,因为kxmovie返回后可以看到原界面从横屏转为竖屏的动画,姑且这样吧。如果看官有好的方法,还请不吝赐教!!!
转载自:ht tp://blog.csdn.net/oiken/article/details/48783417
iOS零碎(90)
目录(?)[+]
参考我转载的文章 iOS 全局禁止横屏,但UIWebView 全屏横屏播放视频的解决办法
我本身项目时用FFMpeg + kxmovie 来播放视频
实现为如下:
1,AppDelegate 类添加参数,控制旋屏
// AppDelegate.h
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @property (nonatomic, assign) BOOL allowRotation;/*** 是否允许横屏的标记 */ @end
// AppDelegate.m
实现协议的函数
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { //去限制只播放才横屏,其他节目都是竖屏 if (self.allowRotation) { return UIInterfaceOrientationMaskAll; } return UIInterfaceOrientationMaskPortrait; }
2,KxMovieViewController 类添加进入全屏和退出全屏的函数,在初始化和返回的事件中调用
- (void)begainFullScreen {//进入全屏 AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; appDelegate.allowRotation = YES; } - (void)endFullScreen {//退出全屏 AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; appDelegate.allowRotation = NO; //强制归正: if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) { SEL selector = NSSelectorFromString(@"setOrientation:"); NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]]; [invocation setSelector:selector]; [invocation setTarget:[UIDevice currentDevice]]; int val =UIInterfaceOrientationPortrait; [invocation setArgument:&val atIndex:2]; [invocation invoke]; } }
在初始化事件中调用
- (id) initWithContentPath: (NSString *) path parameters: (NSDictionary *) parameters { NSAssert(path.length > 0, @"empty path"); [self begainFullScreen];//进入全屏 .... }
在返回事件中调用
- (void) doneDidTouch: (id) sender { if (self.presentingViewController || !self.navigationController) [self dismissViewControllerAnimated:YES completion:nil]; else [self.navigationController popViewControllerAnimated:YES]; [self endFullScreen]; //退出全屏,而且将屏幕强制为竖屏,这句只能放在返回之后,之前会导致crash,因为旋屏设置 冲突 }
结果大致可以接受,但不够理想,因为kxmovie返回后可以看到原界面从横屏转为竖屏的动画,姑且这样吧。如果看官有好的方法,还请不吝赐教!!!
相关文章推荐
- iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
- iOS--优秀博客记录
- iOS开发笔记--如何实现程序长时间未操作退出
- 解决iOS 控制器继承后,控制器侧滑失效的问题
- iOS 常写在pch中的设备区分
- CGImageCreateWithImageInRect图片裁剪问题
- iOS 手势滑动返回功能
- ios::sync_with_stdio(false);(读入优化)
- iOS TableView实现QQ好友列表
- iOS开发:字典(NSDictionary)和数组( NSArray)转换成字符串
- ios webView与js的交互
- OC获取folder下文件的路径
- iOS流媒体工程后台运行
- IOS 中的 _cmd 代表本方法的名称
- iOS 程序间跳转传参(支付和地图)
- cordova local notification sound not working in ios and andorid
- iOS小demo之判断数值类型
- iOS自动更新如何实现
- iOS 修改状态栏的颜色
- iOS-通过键盘的监听完成底部工具条的黏性移动