我正在创建一个iOS iPad应用程序,该应用程序除其他外将利用其中一个屏幕在另一个名为“ CommandMessageView”的视图下方的MPMoviePlayerController
。这是我的.h文件的相关部分:
@interface MovieViewController : UIViewController
@property (strong, nonatomic) MPMoviePlayerController *moviePlayer;
@property (strong, nonatomic) IBOutlet UIView *MovieView;
@property (strong, nonatomic) IBOutlet UIView *CommandMessageView;
然后是.m文件的相关部分:
@implementation MovieViewController
@synthesize MovieView;
@synthesize moviePlayer;
@synthesize CommandMessageView;
- (void)viewDidLoad {
[super viewDidLoad];
// Video Setup
NSURL *currentVideoURL = [NSURL URLWithString:
self.currentVideo];
moviePlayer = [[MPMoviePlayerController alloc]
initWithContentURL:currentVideoURL];
moviePlayer.controlStyle = MPMovieControlStyleNone;
moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
[moviePlayer.view setFrame: MovieView.bounds];
moviePlayer.shouldAutoplay = NO;
[MovieView addSubview:moviePlayer.view];
[moviePlayer prepareToPlay];
}
视频可以正常播放,除非将视图旋转为纵向,在这种情况下,视频位于屏幕中间,并且只有前2/3(水平)可见。如果有帮助,可以在此处查看屏幕截图:
我希望的是,为自动布局(几乎全屏显示)设置的UIView MovieView可以定义视频可以放入其中的边界以及正确的图层(commandMessageView出现在其顶部)。显然,情况有所好转,但是在调整了许多选项之后,没有任何回旋余地。是否有明显的我想念的地方/做错了什么,或者您可以想到的界面构建器中要解决的东西?预先感谢您的帮助!
最佳答案
不知道具体如何工作,但添加以下行:
[moviePlayer.view setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
之后
[moviePlayer.view setFrame: MovieView.bounds];
有我想要的行为。
祝大家编码愉快!
关于ios - UIView中的MPMoviePlayerController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21486248/