YTPlayerView - 对YTPlayerView的自动旋转支持

时间:2014-08-19 12:03:57

标签: ios objective-c uiwebview ytplayerview

我正在使用YTPlayerView课程来播放YouTube个视频。下面是我用来根据设备屏幕尺寸加载视频的代码(适用于iPad的大尺寸和适用于iPhone的小尺寸)。它工作正常。

问题 - 当我将设备模式更改为横向时,我希望在纵向模式下更大YTPlayerView。目前,两种屏幕模式的视频大小相同。

- (BOOL)loadWithPlayerParams:(NSDictionary *)additionalPlayerParams {
NSDictionary *playerCallbacks = @{
                                  @"onReady" : @"onReady",
                                  @"onStateChange" : @"onStateChange",
                                  @"onPlaybackQualityChange" : @"onPlaybackQualityChange",
                                  @"onError" : @"onPlayerError"
                                  };
NSMutableDictionary *playerParams = [[NSMutableDictionary alloc] init];
[playerParams addEntriesFromDictionary:additionalPlayerParams];

if([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad)
{
    [playerParams setValue:@"551px" forKey:@"height"];
    [playerParams setValue:@"768px" forKey:@"width"];
}
else
{
    [playerParams setValue:@"250px" forKey:@"height"];
    [playerParams setValue:@"320px" forKey:@"width"];
}
-----
-----
}

我不能使用此检查来提供更大的视图尺寸,因为上面的代码不会调用中间视频播放。

if([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscape)

你们有没有人知道如何解决这个问题?或者,如果有任何其他解决方案使用JavaScript和css作为webView的html字符串。

2 个答案:

答案 0 :(得分:4)

YTPlayerView实际上使用webview来播放viedo,因此你只能使用css或javascript来改变大小。应该有一个名为" YTPlayerView-iframe-player.html"的html文件。在Assets文件夹中。

这是css示例:

<style>
    body { margin: 0; width:100%%; height:100%%; }
    html { width:100%%; height:100%%; }
</style>

答案 1 :(得分:0)

我在我的故事板中使用了YTPlayer,并在我的项目中使用自动布局时对其进行了适当的约束。它在横向和纵向模式下都能正常工作。我认为您的问题的解决方案是自动布局