2012-06-08 2 views
3



Я делаю приложение iOS.

Я использую MPMoviePlayerController, но это показывает черный фон.

Я думаю, что эта проблема может решить по этому URL-адресу, но я не могу понять, как это использовать.
MPMoviePlayerController background color won't stick

Мой код - это.MPMoviePlayerController существует черный фон

NSString *path = [[NSBundle mainBundle] pathForResource:@"movie_files" ofType:@"m4v"]; 
NSURL *videoURL = [NSURL fileURLWithPath:path]; 

moviePlayer = [[MPMoviePlayerController alloc] 
       initWithContentURL:videoURL]; 

//setting 
moviePlayer.scalingMode =MPMovieScalingModeAspectFit; 
moviePlayer.controlStyle=MPMovieControlStyleDefault; 
moviePlayer.shouldAutoplay=NO; 
[moviePlayer.view setFrame:CGRectMake(20, 20, 280, 200)];  

//notification 
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayBackDidFinish:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:moviePlayer]; 

//clearColor 
UIView *subV =[[UIView alloc]init]; 
for(subV in moviePlayer.backgroundView.subviews) { 
    subV.backgroundColor = [UIColor clearColor]; 
} 
[moviePlayer.view addSubview:subV];  
[self.view addSubview:moviePlayer.view]; 
//show white screen 

Пожалуйста, сообщите чистый путь фона.

+0

Что происходит, когда вы используете '[UIColor redColor]', он меняет цвет? Я не думаю, что «clearColor» работает в таком случае. – skram

ответ

13

Вы должны изменить его на:

moviePlayer.backgroundView.backgroundColor = [UIColor clearColor]; 
for(UIView *aSubView in moviePlayer.view.subviews) { 
    aSubView.backgroundColor = [UIColor clearColor]; 
} 
+0

Пробовал исправить это, спасибо! вы человек: D – SuperKevin

10

Настройка цвета Просмотр фоновых в одиночку не работает для меня.

Я думаю, что цвет фона представления также должен быть изменен. Я добавил еще одну строку кода, и теперь это нормально. Теперь весь видеоролик прозрачен. :) Спасибо @Jordi

moviePlayer.backgroundView.backgroundColor = [UIColor clearColor]; 

moviePlayer.view.backgroundColor = [UIColor clearColor]; 

for(UIView *aSubView in moviePlayer.view.subviews) { 
    aSubView.backgroundColor = [UIColor clearColor]; 
} 
+0

строка "moviePlayer.backgroundView.backgroundColor = [UIColor clearColor];" является избыточным: backgroundView является подпунктом moviewPlayer.view, поэтому цвет изменяется, когда вы перебираете subviews в своем цикле «для». Благодарю. – SSemashko

+0

@Scarmysun хорошо, я должен был включить его. – Antzi

Смежные вопросы