gpt4 book ai didi

xcode - 仅在播放视频时使用横向模式。代码。 IOS 7

转载 作者:行者123 更新时间:2023-12-04 19:40:32 24 4
gpt4 key购买 nike

我使用 youtube-ios-player-helper:https://github.com/youtube/youtube-ios-player-helperhttps://developers.google.com/youtube/v3/guides/ios_youtube_helper

我一切正常。视频播放没问题!但!在项目设置中,我关闭了横向模式。因此,视频只能以纵向模式播放。在 iOS 7 中播放视频时如何打开横向模式?

最佳答案

我的解决方案:

它适用于 iOS 7 和 iOS 8

为了播放来自 YouTube 的视频,我使用了 XCDYouTubeKit ( https://github.com/0xced/XCDYouTubeKit )

AppDelegate.h:

@property (nonatomic) BOOL screenIsPortraitOnly;

AppDelegate.m:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{

if (!self.screenIsPortraitOnly) {
return UIInterfaceOrientationMaskPortrait;
}
else {
return UIInterfaceOrientationMaskAllButUpsideDown;
}
}

MYTableViewController.m:

#import "XCDYouTubeVideoPlayerViewController.h"
#import "XCDYouTubeKit.h"
#import "AppDelegate.h"

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:myIdYoutube];
[[NSNotificationCenter defaultCenter] removeObserver:videoPlayerViewController name:MPMoviePlayerPlaybackDidFinishNotification object:videoPlayerViewController.moviePlayer];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoFinished) name:MPMoviePlayerPlaybackDidFinishNotification object:videoPlayerViewController.moviePlayer];
videoPlayerViewController.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:videoPlayerViewController animated:YES completion:nil];
}

-(void)videoFinished
{
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
appDelegate.screenIsPortraitOnly = false;
[self dismissViewControllerAnimated:YES completion:NULL];
}

XCDYouTubeVideoPlayerViewController.m

#import "AppDelegate.h"

- (instancetype) initWithVideoIdentifier:(NSString *)videoIdentifier
{
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
appDelegate.screenIsPortraitOnly = true;
if ([[[UIDevice currentDevice] systemVersion] integerValue] >= 8)
self = [super initWithContentURL:nil];
else
self = [super init];

if (!self)
return nil;

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil];

if (videoIdentifier)
self.videoIdentifier = videoIdentifier;

return self;
}

- (void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
appDelegate.screenIsPortraitOnly = false;

if (![self isBeingDismissed])
return;

[self.videoOperation cancel];
}

关于xcode - 仅在播放视频时使用横向模式。代码。 IOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25346587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com