2011-11-01 13 views
10

Próbuję zmienić kolor tła mojego MPMoviePlayerController i nie mogę go ustawić.Kolor tła MPMoviePlayerController nie będzie się trzymać

Używam:

moviePlayer.view.backgroundColor = [UIColor redColor]; 

widzę czerwonym tle lampy błyskowej podczas gdy film się ładuje. Po załadowaniu tło znów staje się czarne. Próbowałem ustawić kolor po rozpoczęciu odtwarzania, ale nie ma to żadnego wpływu.

używam iOS 5.

Edit: Jestem rzeczywiście próbuje ustawić tło na [UIColor clearColor], a nie czerwony. Właściwie powinienem był zadać moje pytanie właściwie.

+0

Fakt, że nie działa z jasnym kolorem, zdaje się wskazywać, że istnieje podzbiór, którego poniższe odpowiedzi nie uwzględniają, lub że istnieje niestandardowy rysunek. Czy jest jakiś szczególny powód, dla którego chciałbyś, żeby to było coś innego niż czerń? – FeifanZ

+0

Czy próbujesz uzyskać wyraźne tło do wyświetlenia za filmem? Nie jestem pewien, czy sprzęt dekodujący obsługuje przezroczystość ... –

+0

Nie, tylko obramowanie wokół filmu (po bokach z filmem 4: 3, góra/dół z 16: 9). Domyślnie jest czarny, gdy używa czerwonego koloru, prawidłowo pokazuje czerwoną ramkę. Odtwarzacz filmu siedzi na obrazie tła, a klient naprawdę chce, aby obraz był widoczny, a nie tylko czarny. –

Odpowiedz

20

backgroundColor na MPMoviePlayerController jest przestarzałe, a view jest udokumentowane jako tylko do odczytu. Zobacz: Deprecated MPMoviePlayerController Methods

backgroundColor
kolor tła obszaru za film. (Dostępne w iOS 2.0 przez iOS 3.1. Wirtualny widok z backgroundView własności i ustawić jego kolor bezpośrednio.)

@property (nonatomic, zachowują) UIColor * backgroundColor

Więc chciałbym spróbować za pomocą:

moviePlayer.backgroundView.backgroundColor = [UIColor redColor]; 
+0

Działa to znakomicie, a próbowałem już raz, ale moim pierwotnym celem było użycie [UIColor clearColor]. Kiedy to nie zadziałało, zacząłem bawić się czerwienią, aby było to bardziej oczywiste. Niestety, clearColor nie działa z opublikowanym przez Ciebie kodem. Myśli? –

+0

@EricReid próbowałeś także ustawić 'moviePlayer.backgroundView.opaque = NO'? – stigi