将 MPMoviePlayerController 视图置于 UIview 的中心(相同位置)
Posted
技术标签:
【中文标题】将 MPMoviePlayerController 视图置于 UIview 的中心(相同位置)【英文标题】:Center MPMoviePlayerController View inside(Same place) of a UIview 【发布时间】:2013-04-02 17:02:26 【问题描述】:我正在尝试在屏幕上已有的 uiview 顶部或内部添加电影播放器。当我放置电影播放器时,它位于屏幕的左上角。我要播放电影的 Uiview 位于底部屏幕的中心。
我可以通过在“makeframe”中添加点来处理数字并将其向下移动,但这似乎不是正确的做法。 videoCubeSceneView 是我想要播放电影的视图。
NSString*thePath=[[NSBundle mainBundle] pathForResource:@"cubeVideo" ofType:@"mp4"];
NSURL*theurl=[NSURL fileURLWithPath:thePath];
moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:theurl];
[moviePlayer.view setFrame:CGRectMake(videoCubeSceneView.frame.origin.x, videoCubeSceneView.frame.origin.y, videoCubeSceneView.frame.size.width, videoCubeSceneView.frame.size.height)];
[moviePlayer prepareToPlay];
[moviePlayer play];
moviePlayer.movieSourceType = MPMovieSourceTypeFile;
moviePlayer.scalingMode = MPMovieScalingModeFill;
moviePlayer.controlStyle = MPMovieControlStyleDefault;
NSLog(@"url : %@", moviePlayer.contentURL);
[moviePlayer setShouldAutoplay:NO]; // And other options you can look through the documentation.
[self.view addSubview:moviePlayer.view];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playBackStateDidChange) name:MPMoviePlayerPlaybackStateDidChangeNotification object:moviePlayer];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playBackFinished) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
【问题讨论】:
我很傻......我将它添加为邮件“self.view”的子视图,而不是我的 videoCubeSceneView 的子视图。 【参考方案1】:self.moviePlayer.frame = self.view.bounds;
【讨论】:
【参考方案2】:让我们试试这段代码
self.moviePlayer.view.center = self.view.center;
【讨论】:
【参考方案3】:[videoCubeScene addSubview:moviePlayer.view]; 将它添加到我真正想要的视图中,然后它将是该视图的坐标。将其添加到“self.view”时,它会按原样将其添加到屏幕的左上角,因为坐标是主视图(整个屏幕)的坐标
【讨论】:
我之前会给自己答案的。但是,有一些时间限制。谢谢大家的其他答案。以上是关于将 MPMoviePlayerController 视图置于 UIview 的中心(相同位置)的主要内容,如果未能解决你的问题,请参考以下文章
将 MPMoviePlayerController 旋转到横向 - iPhone SDK
使用 MPMoviePlayerController 将音频流保存到文件中
为啥我的 MPMoviePlayerController 突然将加载状态更改为未知?
MPMoviePlayerController 成功预加载后将视频缓存到磁盘