【问题标题】: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;
        }
        

        【讨论】:

          猜你喜欢
          • 2011-04-12
          • 1970-01-01
          • 2011-04-29
          • 2014-10-30
          • 2017-03-20
          • 2013-11-12
          相关资源
          最近更新 更多