Có một vấn đề nhỏ thú vị với ứng dụng iPhone của tôi. Tôi có chế độ xem với một bảng và mỗi ô, khi được nhấp, phát toàn màn hình video sau đó khi bạn nhấn xong, video dừng lại và quay lại chế độ xem bảng. Vấn đề duy nhất là, khi bạn nhấn hoàn tất trong vòng 2 hoặc 3 giây đầu tiên của quá trình tải video, khi khung nhìn quay trở lại chế độ xem bảng, thanh ở đầu màn hình cho biết thời gian và cường độ pin vv không còn nữa ở đó, nó chỉ là một khoảng trắng. Nhưng nếu bạn nhấn xong sau vài giây đầu tiên, sau đó khi bạn quay lại chế độ xem bảng, mọi thứ đều hoàn toàn ổn! Tôi hoàn toàn không có ý tưởng tại sao điều này đang xảy ra và điều duy nhất tôi tìm thấy trên internet là này đó là một số anh chàng có khá nhiều chính xác cùng một vấn đề như tôi:Thanh trạng thái biến mất ở trên cùng sau khi MPMoviePlayerController bị đóng
http://www.iphonedevsdk.com/forum/iphone-sdk-development/53020-disappearing-status-bar.html
này dẫn tôi thử sử dụng:
[UIApplication sharedApplication].statusBarHidden = NO;
Tuy nhiên, điều này cũng không dẫn đến đâu.
Các mã được thực thi khi họ click vào một video:
NSString *path = [[NSBundle mainBundle] pathForResource:currentTitle ofType:@"m4v"];
NSURL *url = [NSURL fileURLWithPath:path];
movieController = [[MPMoviePlayerController alloc] initWithContentURL:url];
[movieController setControlStyle:MPMovieControlStyleFullscreen];
[movieController setFullscreen:YES];
movieController.view.frame = self.view.bounds;
[self.view addSubview:movieController.view];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
Và mã thực thi hoặc khi video được thực hiện hoặc khi người dùng nhấp thực hiện là:
NSLog(@"movieController moviePlayBackDidFinish");
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
[movieController setFullscreen:NO animated:NO];
[movieController.view removeFromSuperview];
[movieController release];
LiveEventsView *liveEventsView = [[LiveEventsView alloc] initWithNibName:@"LiveEventsView" bundle:nil];
UIView *currentView = self.view;
UIView *theWindow = [currentView superview];
UIView *newView = liveEventsView.view;
newView.frame = CGRectMake(0, 20, 320, 460);
[currentView removeFromSuperview];
[theWindow addSubview:newView];
[UIApplication sharedApplication].statusBarHidden = NO;
Nếu ai cũng có thể làm sáng tỏ tình huống này, tôi sẽ rất biết ơn vì nó cực kỳ bực bội!
Cảm ơn,
Matt
Cảm ơn, điều này có hiệu quả nhưng thời gian ngắn nhất có vẻ như trì hoãn thành công là 1 giây, hơi quá dài. Nếu đó là cách duy nhất tôi có thể sửa nó, thì nó sẽ làm, nhưng tốt hơn là nó sẽ xuất hiện ngay khi khung nhìn tải, thay vì 1 giây sau –