【问题标题】:MPMoviePlayerViewController Status bar not hidingMPMoviePlayerViewController 状态栏未隐藏
【发布时间】:2016-04-27 09:56:31
【问题描述】:
您好,我正在开发一个在应用程序中播放视频的应用程序
我使用了以下代码-
MPMoviePlayerViewController *theMovie=
[[MPMoviePlayerViewController alloc] initWithContentURL: myurl];
theMovie.moviePlayer.repeatMode=MPMovieRepeatModeOne;
theMovie.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
[theMovie.moviePlayer play];
[self.view addSubview:theMovie.view];
但我想从视频控制器中删除此状态栏,请参阅附件。
【问题讨论】:
标签:
ios
objective-c
ios9
mpmovieplayercontroller
uistatusbar
【解决方案1】:
试试这个代码,
ViewDidLoad 方法:
float delay = 0.1;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delay * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[UIApplication sharedApplication].statusBarHidden = NO;
ViewWillAppear 方法给出以下代码:
[UIApplication sharedApplication].statusBarHidden = NO;
希望对你有帮助
【解决方案2】:
在 AppDelegate 中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
application.statusBarHidden=YES;
}
或
使用此代码会对您有所帮助:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
【解决方案3】:
将以下代码添加到您的视图控制器:
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
// iOS 7
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
} else {
// iOS 6
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
- (BOOL)prefersStatusBarHidden {
return YES;
}
或
写在 appdelegate.m 中
[[UIApplication sharedApplication] setStatusBarHidden:YES];
或者添加属性状态栏最初隐藏在你的plist文件中
伙计们,在 iOS 7+ 中
请将此添加到您的 info.plist 文件中,它会有所作为 :)
UIStatusBarHidden UIViewControllerBasedStatusBarAppearance
我不知道是否适用于您的情况,但在我的情况下,状态栏出现在我加载 UIImagePickerController 并更改我的默认屏幕方向后。
我修复了这种情况添加 application.statusBarHidden = YES;在 appDelegate 里面是这样的:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
// Detect if I need to hide the StatusBar (optional)
if (iNeedToHide == YES) {
application.statusBarHidden = YES;
}
return UIInterfaceOrientationMaskLandscape;
}
希望对你有帮助
【解决方案4】:
-(BOOL)prefersStatusBarHidden
{
return YES;
}