【问题标题】:how to hide status bar when splash screen appears in iphone?iphone出现闪屏时如何隐藏状态栏?
【发布时间】:2010-11-11 23:21:48
【问题描述】:

有没有办法在 iPhone 中显示启动画面时隐藏状态栏 然后在应用程序中再次显示?

【问题讨论】:

    标签: objective-c iphone xcode splash-screen statusbar


    【解决方案1】:

    我很确定,如果您的 Info.plist 文件将 Status bar is initially hidden 值设置为 YES,那么它在您的应用程序加载时不会显示。加载应用程序后,您可以使用 UIApplication 的 setStatusBarHidden:animated: 方法重新显示状态栏。

    【讨论】:

    • info.plist中没有这个选项。有没有办法手动添加
    • @Rahul 选择文件中的最后一行,然后单击该行右端的加号按钮。然后自己输入。
    • 现在重新显示状态栏的方法,setStatusBarHidden:withAnimation:
    • 如果您想手动添加它,您可以在 BBEdit 等文本编辑器中编辑 plist 并添加以下行: UIStatusBarHidden 就在 上方> 线。或者在 Xcode 中右键单击 plist 并选择 Open As...Source Code 并将其编辑为文本。
    • "一旦您的应用程序加载完毕,您可以重新显示状态栏" 只是为了澄清是否有人感到困惑,将[[UIApplication sharedApplication] setStatusBarHidden:NO]; 设置为安全 - application:didFinishLaunchingWithOptions:
    【解决方案2】:

    .plist 中正确的键是“UIStatusBarHidden”并勾选右侧。它会自动变为“状态栏最初隐藏”。在我的实践中,您可以通过何时隐藏来控制状态栏的显示/隐藏:

    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
    [UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.
    

    演出时:

    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
    [UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.
    

    希望这对您有所帮助。

    【讨论】:

    • 动态设置 CGRectMake 的大小到任何类型的 iPhone:[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];float width = ((UIScreen *)[UIScreen mainScreen]).bounds.size.width;float height = (((UIScreen *)[UIScreen mainScreen]).bounds.size.height - 20);[UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 20, width, height);
    • UIApplication 的 setStatusBarHidden:withAnimation 期望 NSInteger typedef UIStatusBarAnimation 作为第二个参数,而不是 BOOL。代替NO,使用UIStatusBarAnimationNone
    【解决方案3】:

    查看 -> 属性列表类型 -> iPhone Info.plist。现在,创建一个选中“状态栏最初隐藏”的新项目。

    【讨论】:

      【解决方案4】:

      按照 Dave 的回答,键“状态栏最初隐藏”在 iOS 4.3 下对我不起作用,但键“UIStatusBarHidden”然后将其类型设置为布尔值并选中该框就可以了。

      http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW4

      这篇开发者文章让我了解了 Info.plist 键,然后找出隐藏它的等效键并不难。

      有趣的是,“UIStatusBarStyle”需要使用枚举名称作为字符串才能工作。

      【讨论】:

        【解决方案5】:

        对于 Xcode 5 及更高版本,您只需设置:

        查看基于控制器的状态栏外观为 NO

        在您的 info.plist 或主项目的信息选项卡中。

        【讨论】:

          【解决方案6】:

          将这 1 行写入您的主 .m viewDidload 方法

          [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
          

          或从工作区的项目支持文件夹中选择 info.plist 文件

          将 statusbarinitiallyhidden 设置为 YES

          【讨论】:

            【解决方案7】:

            已弃用

            setStatusBarHidden:(BOOL) animated:(BOOL) 
            

            是正确的

            setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
            

            UIStatusBarAnimation 可以是:

            UIStatusBarAnimationNoneUIStatusBarAnimationFadeUIStatusBarAnimationSlide

            【讨论】:

              【解决方案8】:

              这在 info.plist 中对我有用:

              "View controller-based status bar appearance"  -> set to NO
              

              【讨论】:

                【解决方案9】:

                info.plist 文件中将Status bar is initially hidden 添加到YES。这对我有用。

                【讨论】:

                  【解决方案10】:

                  对于 XML 编辑器 ~ 添加到

                  的第一个子级
                  <key>UIStatusBarHidden</key>
                  <true/>
                  

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2011-03-13
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多