【问题标题】:UIView display issue in iOS 7iOS 7 中的 UIView 显示问题
【发布时间】:2013-09-27 04:47:25
【问题描述】:

我已经使用 xib 为 ios 6 制作了应用程序。所有视图都显示为与 xib 完全相同。 但是在 IOS 7 中,由于状态栏的原因,视图向上移动并且底部有一个空白区域。

我该如何解决这个问题?

【问题讨论】:

标签: iphone ios ios6 view ios7


【解决方案1】:

移动您的视图,使其在 iOS7 中正确显示,并使用界面生成器中的 iOS6/7 Deltas 设置添加正确的增量高度,以便您的视图在 iOS6 中正确显示。

另见:https://stackoverflow.com/a/19025547/1545180

【讨论】:

  • 感谢您的回复。但我可以解决这个问题。你能举一些例子或参考吗?
  • 查看编辑。你为 iOS 7 制作你的视图,并为 iOS 6 设置一个 delta 来修复它。
  • 是的,这很好,但我也以编程方式设置了框架。那么,我该如何设置增量呢?
  • 对于您以编程方式设置的视图,您必须根据操作系统版本自行计算。
【解决方案2】:

对于 IOS7,您可以从顶部离开状态栏高度,这在 IOS6 中是默认设置的。

float SystemVersion=[[[UIDevice currentDevice] systemVersion] floatValue];

if(SystemVersion<7.0f)
{
    //Currently your app is running in IOS6 or older version. So you need not to do anything.  
}
else
{
    // Currently your app is running in IOS7. Do the following.

    CGRect TempRect;
    for(UIView *sub in [[self view] subviews])
    {
        TempRect=[sub frame];
        TempRect.origin.y+=20.0f; //Height of status bar
        [sub setFrame:TempRect];
    }
}

【讨论】:

  • 但是然后状态栏下方的区域会变黑,会出现错误。然后他必须在每个视图控制器中指定状态栏样式应该是轻量级内容。工作量太大,违反 iOS7 设计准则。
  • 检查我更新的答案。在这里,我将 IOS7 的所有视图向下移动 20.0f。
  • 他可以在界面生成器中毫不费力地做到这一点。该代码不是必需的。
  • 我们可以将窗口本身向下移动 20px 吗?
  • @LeoNatan:如何使用 Xib 实现?
【解决方案3】:

修复状态栏问题的步骤:

  1. 将“view as”选项更改为“IOS 7 及更高版本”并取消选中文件中的使用自动布局选项检查员。

  2. 转到尺寸检查器并将 20 像素原点 y 值增加到添加到所选 xib 中的所有控件

  3. 对于添加到所选 xib 中的所有控件,将 y 的增量值增加到 -20

在 IOS 6 和 IOS 7 中运行的问题应该都已修复。 (确保 y 原点和 delta 值如前所述得到完美处理。)

有关详细信息,请在此链接中查看我的答案:https://stackoverflow.com/a/19025547/1545180

供您参考

【讨论】:

    【解决方案4】:

    您可以通过更改 delta x、delta y、delta width、delta height 中的值,在尺寸检查器上使用 ios6/7 delta 显示轻松地在 ios7 和 ios6 中正确设置 UIView 内容。首先在 ios7 中设置您的值x,y,width,height 然后签出,然后通过减法和加法为 ios6 设置增量。我也这样做,而且很简单,你可以从我那里得到帮助 ant time..谢谢

    【讨论】:

      【解决方案5】:

      如果您有自定义UINavigationController,请尝试将navigationBartranslucent 属性设置为NO,例如:

      navigationBar.translucent = NO;
      

      这对我有用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-18
        • 2016-09-09
        • 1970-01-01
        • 1970-01-01
        • 2014-06-09
        • 1970-01-01
        相关资源
        最近更新 更多