Как мога да накарам `-[MPMoviePlayerController backgroundView]` да се показва веднага?

В момента моят -[MPMoviePlayerController backgroundView] не се появява, докато филмът не се зареди достатъчно. Така че UIActivityIndicatorView, което поставих там, не се появява веднага. Това ме подлудява. Единственото решение, което беше намерено, е поставянето на дублиран изглед на индикатор някъде между фонов изглед и -[MPMoviePlayerController view]. Но това не изглежда нормално и определено е хак на йерархията на изгледа, за който не е гарантирано, че работи правилно. Ако фоновият изглед се покаже веднага, всичко ще работи магически.

Как мога да направя фонов изглед непосредствено преди зареждането на филма?


person eonil    schedule 31.03.2011    source източник


Отговори (2)


Не използвайте backgroundView, а изгледа на самия филмов контролер...

Следващи стъпки (ако приемем, че вашият MPMovieControllerPlayer екземпляр се нарича moviePlayerController, а вашият UIActivityIndicatorView екземпляр се нарича activityIndicatorView)

  • Добавете вашия UIActivityIndicatorView върху изгледа MPMoviePlayerController (напр. [moviePlayerController.view addSubview:activityIndixatorView];)

  • Започнете да анимирате индикатора за активност

  • Регистрирайте се за MPMoviePlayerLoadStateDidChangeNotification

  • В манипулатора на горното известие внимавайте за moviePlayerController.loadState & MPMovieLoadStatePlayable == MPMovieLoadStatePlayable

  • Ако горното условие е изпълнено, скрийте индикатора за активност

person Till    schedule 31.03.2011
comment
За съжаление, MPMoviePlayerLoadStateDidChangeNotification известията се извеждат твърде рано или твърде късно, така че индикаторът за активност ще изчезне, преди да се покаже видеото. За бавни връзки времевата разлика е твърде голяма. Така че не можах да използвам този начин :( - person eonil; 31.03.2011
comment
Това е странно... но можете да използвате MPMoviePlayerPlaybackStateDidChange вместо или допълнително към MPMoviePlayerLoadStateDidChangeNotification за скриване на този индикатор за активност. - person Till; 31.03.2011

Не съм сигурен, но Може ли да се показва UIActivityIndicator през MPMoviePlayerController в режим на цял екран? може да ви помогне малко

person visakh7    schedule 31.03.2011
comment
Както споменах в коментар за отговора на @Till, решението не може да реши проблема... - person eonil; 31.03.2011