【问题标题】:UINavigationController OffsetUINavigationController 偏移量
【发布时间】:2010-07-06 05:38:47
【问题描述】:

我有一个 UINavigationController,它出现在 20px 的偏移处。 这是我遇到的确切问题: http://forums.macrumors.com/showthread.php?t=761616 但我似乎无法弄清楚解决它的正确方法是什么。

谢谢,

【问题讨论】:

  • 如何将 UINav 视图添加到屏幕上?
  • 我初始化它,将 viewController 推入其中并将其视图添加到主视图...
  • 这里有同样的问题。 iOS 4.3.1 与 UISplitViewController 结合使用。什么都试过了,没有成功。即使设置框架也无济于事。

标签: iphone uikit uinavigationcontroller


【解决方案1】:

在我搜索了可能的解决方法后,人们说它应该以编程方式移动 20 像素。 这是我的解决方案:

// adjust the frame of subview which is going to be add
self.navController.view.frame = CGRectMake(0, 0, 320, 460);
[self.view addSubView:self.navController.view];

现在对我来说很好用,祝你好运~:)

【讨论】:

    【解决方案2】:

    这个问题的解决方法是将splitviewcontroller的frame设置为[[UIScreen mainScreen] bounds]; 例如

    self.mSplitViewC.view.frame = [[UIScreen mainScreen] bounds];
    

    【讨论】:

      【解决方案3】:

      确保框架设置为 (0,0)。它可能有那个空间,因为您在 Y 位置添加 20px 以弥补状态栏,但这已经为我们处理好了。

      【讨论】:

      • 我没有碰框架。它应该自动对齐到 0,0。另外,如果我确实尝试手动调整框架,那么我可以看到偏移量,之后只有一秒钟,它就会弹出到位。
      • 您是否尝试在“viewWillAppear:”方法中更改框架?你确定你没有在你的任何代码或 xib 中接触过框架吗?
      • 是的,我没有在任何地方碰过框架(不是在笔尖中,也不是在代码中)。另外,我刚刚打开了一个新项目,做了同样的事情并且偏移量仍然存在。而且,当我隐藏状态栏时,导航栏出现在屏幕顶部(比现在高 40 像素)。我想我在这里遗漏了一些东西......
      【解决方案4】:

      您是否在 Interface Builder 中添加了一个状态栏作为顶部栏?可能是您为状态栏保留了空间。

      【讨论】:

      • 没有。我还没有接触过界面生成器。我以编程方式添加了导航控制器。
      • 我认为最好从info.plist中隐藏状态栏。在plist中有一个名为“状态栏最初隐藏”的条目。勾选该条目并从您的项目中删除您的状态栏隐藏代码。
      猜你喜欢
      • 2016-02-05
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多