2013-04-11 78 views
0

我想添加子视图MPMoviePlayerViewController对象,其顶部栏移动一点点,但如果我做presentView MPMoviePlayerViewController对象它的完美。 ? 我不知道发生了什么。请帮助我。MPMoviePlayerViewController问题

,如果我在子视图加法我写:

 self.moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL  URLWithString:self.filePath]]; 
     [self.moviePlayer.view setFrame:self.view.bounds]; 
     [self.view addSubview:self.moviePlayer.view]; 

所以顶部默认完成按钮和进度条移动点点下降。 请帮助我,为什么发生这种情况?并为此提供解决方案。

+0

moviePlayer.view.frame = CGRectMake(0.0,0.0,320.0,480.0); – Buntylm 2013-04-11 07:11:38

回答

0

试试这个:

self.moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL  URLWithString:self.filePath]]; 

CGRect frame = self.view.bounds; 
frame.origin.y -= 20; 
[self.moviePlayer.view setFrame:frame]; 
[self.view addSubview:self.moviePlayer.view]; 

MPMoviePlayerViewController视图帧是假设它会显示可见状态栏,但我假设你有隐藏状态栏。因此,当您添加MPMoviePlayerViewController视图时,其frame.origin.y设置为20(状态栏高度)。

+0

真棒老兄:)非常感谢,它的工作,但我不明白的一件事是我不隐藏我的状态栏,并仍然工作。 CGRect frame = self.view.bounds; frame.origin.y - = 20; [self.movi​​ePlayer.view setFrame:frame]; – user2019279 2013-04-11 10:06:41

+0

MPMoviePlayerViewController通常以全屏模式显示。所以它的框架初始化为(0,20,screenWidth,screenWidth,screenHeight-20)。当您使用[self.movi​​ePlayer.view setFrame:self.view.bounds]重置其框架时,您更改了大小,但未更改原点,因此其origin.y仍设置为20。 – calampunay 2013-04-11 10:25:36

1
MPMoviePlayerController* movieController = [[MPMoviePlayerController alloc] 
               initWithContentURL:url]; 

    movieController.view.frame = self.window.bounds; 
    movieController.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
    [self.window addSubview:movieController.view]; 

    [movieController prepareToPlay]; 
    [movieController setShouldAutoplay:NO]; 
相关问题