我正在使用Youtube iOS帮助程序库在我的应用程序中内嵌播放YT视频。我的应用程序通常运行顺畅,视频加载和播放正常。我有一个问题,当我旋转手机(模拟器)时,视频将离开框架。因此,如果我以纵向方式加载视频,视频将以纵向为中心,但当我旋转到横向时,视频将位于底部角落。
为了解决这个问题,我现在用一些javascript调整播放器的大小。
- (void)setSizeOfIFrameToWidth:(int)width Height:(int)height {
[self.webView stringByEvaluatingJavaScriptFromString:
[NSString stringWithFormat:@"player.setSize(%d, %d)", width, height]];
}
(这就是我编辑的YTPlayer类中的内容)。
这很好用,并在youtubeView的所有者中调用:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self.youtubeView setSizeOfIFrameToWidth:self.youtubeView.frame.size.width Height:self.youtubeView.frame.size.height];
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
[self.youtubeView setNeedsDisplay];
}
(我不确定最后setNeedsDisplay
行是否有效)
但现在,当它旋转时,首先视图在侧面被切断,然后笨拙地旋转。它看起来很不稳定。这是我能得到的最好的截图:
还
请注意视频在旋转过程中如何被剪切。
(为了记录,我不拥有播放器中视频的权利。那是来自https://www.youtube.com/watch?v=Q78COTwT7nE}
答案 0 :(得分:0)
使用$(window).trigger('resize');
应该有帮助。