如您所知,當我使用MPmoviePlayerController播放影片時,moviePlayer應在moviePlayer'view的中心顯示一個activityIndicatorView。現在,我已將一個自定義activityIndicatorView放入我的程序中,我只想隱藏或移除MPMoviePlayController的activityIndicatorView,我可以這樣做嗎?隱藏MoviePlayerController中的ActivityIndicator
2
A
回答
7
是的,我們可以!
我想你想要做的是在你的電影被加載時顯示活動idicator,而不是當它被播放時?我只是假設並繼續...在SDK 3.2及更高版本中,整個MPMoviePlayerController(和MPMoviePlayerViewController)比以前的版本好很多。如果你仍然使用MPMoviePlayerController,你可以考慮切換到MPMoviePlayerViewController(它基本上是一個包裝MPMoviePlayerController對象的UIView子類)。無論如何,爲了顯示和隱藏你的UIActivityindicator視圖,我建議你掛載到MPMoviePlayerController在負載或playstatus更改時發送的通知。
其中的幾個是:
MPMoviePlayerPlaybackStateDidChangeNotification
MPMoviePlayerLoadStateDidChangeNotification
所以你掛接到這些事件這樣做:
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(loadStateChanged:)
name: MPMoviePlayerLoadStateDidChangeNotification
object: moviePlayerViewController.moviePlayer];
這
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(playBackStateChanged:)
name: MPMoviePlayerPlaybackStateDidChangeNotification
object: moviePlayerViewController.moviePlayer];
和您的處理程序中(playBackStateChanged
和loadStateChanged
)
你可以做這樣的事情:
-(void)playBackStateChanged:(id)sender
{
MPMoviePlaybackState playbackState = [moviePlayerViewController.moviePlayer playbackState];
switch (playbackState) {
case MPMoviePlaybackStateStopped :
break;
case MPMoviePlaybackStatePlaying :
[yourActivityIndicatorView stopAnimating];
break;
case MPMoviePlaybackStateInterrupted :
[yourActivityIndicatorView startAnimating];
break;
}
}
確保「hidesWhenStopped」(或類似)你IndicatorView的屬性被設置爲yes(如果你這樣做,你不必關心和隱藏取消隱藏控制。
其餘的很簡單,只需在您的MPMovieViewController視圖中添加您的activityIndicatorView ontop即可。
希望我能幫助
歡呼
SAM
相關問題
- 1. 使用SDWebImageDownloader顯示和隱藏ActivityIndicator
- 2. 隱藏ActivityIndicator和顯示標題導航欄中
- 3. activityIndicator not 012aring
- 4. NSTimer With ActivityIndicator
- 5. 科爾多瓦/ PhoneGap:麻煩隱藏iOS上的ActivityIndicator
- 6. UIWebView中的activityIndicator與TabBar
- 7. TableViewCell中evey UIWebView的ActivityIndicator
- 8. 陣營本地ActivityIndicator不隱藏動畫完成
- 9. iPhone - 加載ActivityIndicator
- 10. IOS:UITableView上的ActivityIndicator ...如何?
- 11. IOS activityIndicator subview above MKMapView
- 12. RestKit ActivityIndicator幾個請求
- 13. 如何在PrepareForSegue中顯示ActivityIndicator?
- 14. android上沒有對話框的ActivityIndicator?
- 15. userinteract stop,直到activityIndicator停止
- 16. Titanium:添加一個ActivityIndicator到listView?
- 17. React Native <ActivityIndicator />不可見
- 18. 在NSXMLParsing期間不顯示ActivityIndicator
- 19. Xamarin.Forms:如何使用ActivityIndicator構建AlertDialog?
- 20. ActivityIndicator未在CollectionViewCell上顯示
- 21. 使用一個ActivityIndicator和兩個類
- 22. 在modalViewController上添加一個activityIndicator iphone
- 23. ActivityIndicator在計算後不停止
- 24. React Native - 「ProgressBarAndroid is deprecated。Use ActivityIndicator instead」
- 25. 在我的sencha touch應用程序中添加ProgressHuds/ActivityIndicator
- 26. xamarin表單中的ActivityIndicator表單不起作用
- 27. ActivityIndicator顏色屬性在Windows 8.1中不起作用
- 28. 在黑莓中製作一個ActivityIndicator消失
- 29. 在iPhone SDK中獲得內存分配ActivityIndicator
- 30. 如何在屏幕中間顯示ActivityIndicator?
我這樣做,我只想讓moviePlayerViewController的activeIndicator從不顯示,因爲我已經被自己 – ben 2010-07-10 01:33:44
阿添加activeIndicator我想我明白你現在。解決辦法是隱藏你的播放器,直到Movieplayer的Loadstate等於MPMovieLoadStatePlayable,然後再次取消播放器。同時您可以顯示您的自定義加載程序。 – samsam 2010-07-14 09:16:06