求助: UIWebView如何或者网页中的视频播放事件

转载自: http://www.cocoachina.com/bbs/read.php?tid-92799-page-1.html

当从网页中点击一个视频调用系统播放器
MPMoviePlayerController播放视屏时,我如何能捕捉到这个事件,然后强制横屏显示。
网上一个解决的方案(我居然不能发带链接的帖子,把内容复制在下面好了)
————————————————————转自网络——————————————————————————————————————

这样一种情况,用UIWebView加载一个页面,竖屏,页面中有视频,现在我们希望在全屏播放这个视频的时候可以横屏.解决方法如下:
    1.设置一个变量监控是否全屏播放视频
    2.根据这个变量设置是否可以横屏
问题又来了,如何获取横屏事件.这需要从UIView中派生出一个自定义类,然后把UIWebView所在的UIViewController的根view设置成这个类别的(有xib文件的通过修改CustomClass项).自定义类中重写下面两个方法.
[pre]- (void)didAddSubview:(UIView *)subview 
{
//如何确定这个subview是播放视频的呢?
//1.根据大小,它的大小是呢的程序屏幕区域大小
//2.如果没有其他的subview会动态添加,那就这么地了吧,直接操作
//3.其他的subview设置tag不为0,这个唯一0的就是它了
//然后给superview的UIViewController发送什么什么操作}[/pre]

[pre]- (void)willRemoveSubview:(UIView *)subview
{
//添加这个是因为如果横屏状态下全频的视频播放退出了,程序还是横着的,而你又不希望它继续横屏,就在这里处理吧}
[/pre]




———————————————————结束————————————————————————————————————————————————


,但是我没弄出来,不知道是方案有问题,还是我没看懂。
有没有高手帮我看看,给出一个详细一点的方案。
谢谢!


问题解决了!

其实我的需求只是想要把 视频播放器的view横屏,并不需要把整个app横屏,所以,在
(void)didAddSubview:(UIView *)subview 中,发现如果subview是视频播放器,就只是把这个subview做个transform就可以了
可以加个动画效果:
        [UIView beginAnimations:@"changeToLandscapeMode" context:nil];
        [UIView setAnimationDelegate:self];
        [UIView setAnimationDuration:0.8f];
        subview.transform = CGAffineTransformMakeRotation(M_PI/2);
        [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
        [UIView commitAnimations];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值