【问题标题】:area gets clipped when status bar is hidden隐藏状态栏时区域被剪裁
【发布时间】:2012-08-14 10:24:39
【问题描述】:

我需要全屏显示视图控制器(模态转场)。我只是将状态栏隐藏在顶部。我在 viewcontroller 的 viewdidload 上调用此代码。

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

现在出现的一个问题是,在屏幕的最底部,区域被剪裁或像切割状态栏的大小一样。我该如何解决这个问题?

注意:我只想在我的应用中隐藏一个视图控制器的状态。

谢谢

【问题讨论】:

    标签: iphone


    【解决方案1】:

    隐藏状态栏的最简单方法(这适用于任何版本)是进入 Info.plist,右键单击添加一行并选择 Status Bar Initially hidden。

    [application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    

    它对我有用。 我也遇到了同样的问题。

    【讨论】:

    • 我只希望一个特定的视图控制器具有隐藏状态。从 Info.plist 执行此操作不会影响所有视图控制器??
    • 好的,如果您想为一个视图控制器执行此操作,然后选择或(第二个)选项,[application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    【解决方案2】:

    上面说的答案是正确的....但是要知道的是状态栏保留器高度为 20 像素,而 460 像素用于在视图控制器中查看。

    检查一下。只需转到其中一个视图控制器。

    点击controller view,其frame将为(0,0,320,460)(0,0,320, 20) 表示状态栏。并注意视图大小不可调整 高度。如果我们在这里隐藏状态栏。然后查看实体的位置会更改实际预期位置,因为视图会被某些因素拉动。

    点击选项卡你可以看到它的属性。将状态栏设置为无。现在,视图的大小在所有方面(即原点、宽度、高度)可调整。现在将视图框架更改为 (0,0,320,480)

    【讨论】:

    • 状态栏可以是 20 或 40 像素高,不要假设它总是 20。在通话或个人热点开启时是 40。而现在 iPhone5 的边框可以是 480 或 568 高。
    【解决方案3】:

    最初在 PList 中隐藏您的状态栏。在 xib 中,单击视图,然后在检查器上将状态栏更改为 none

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-12
      • 2011-04-29
      • 1970-01-01
      • 2018-04-03
      相关资源
      最近更新 更多