【问题标题】:Stop UINavigationBar from overlaying content停止导航栏重叠内容
【发布时间】:2013-03-22 01:57:45
【问题描述】:

我在我的应用程序中使用了 UINavigationController,它工作得比较好。在我的集合视图中显示标题时,导航栏似乎已设置为堆栈中较高的位置,从而允许在其下方呈现内容。

有谁知道我如何在导航栏下方而不是下方呈现标题?

非常感谢任何帮助!

编辑

如果有帮助,我运行了以下命令:

NSLog(@"Navigation Bar Bounds %@", NSStringFromCGRect(self.navigationController.navigationBar.bounds));
NSLog(@"Navigation Bar Frame %@", NSStringFromCGRect(self.navigationController.navigationBar.frame));
NSLog(@"Collection View Bounds %@", NSStringFromCGRect(self.collectionView.bounds));
NSLog(@"Collection View Frame %@", NSStringFromCGRect(self.collectionView.frame));

输出如下:

[4058:907] Navigation Bar Bounds {{0, 0}, {320, 44}}
[4058:907] Navigation Bar Frame {{0, 20}, {320, 44}}
[4058:907] Collection View Bounds {{0, 0}, {320, 504}}
[4058:907] Collection View Frame {{0, -22}, {320, 504}}

编辑结束

我已经上传了以下图片来演示这个问题:

故事板内部:

应用程序何时加载以及导航栏隐藏的内容:

完整的故事板,显示导航控制器和根视图控制器。 UICollectionView 是 HomeViewController.h 文件中的一个 IBOutlet。

【问题讨论】:

  • 那是滚动视图吗?所以用户可以向下滚动以显示标题?
  • 据我所知,它只是一个带有 UICollectionView 的普通视图控制器。
  • 什么是 rootViewController?UIViewController 或 UICollectionViewController?
  • 我更新了问题以显示完整的情节提要,与根视图控制器的关系与HomeViewController 相关,这是UIVewController 的一个实例(例如HomeViewController : UIViewController <UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, AddPropViewControllerDelegate, NSFetchedResultsControllerDelegate>)。跨度>
  • 您是否尝试过删除主视图控制器并重新创建它。似乎有些属性在创建时搞砸了。

标签: ios ios6 uinavigationbar


【解决方案1】:

我认为您需要将 ViewController 的“tob bar”更改为“Navigation Bar”,并将控件放在上面

检查这张图片

【讨论】:

  • 感谢 Mahmoud,这解决了我的问题!干杯
猜你喜欢
  • 1970-01-01
  • 2017-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-18
  • 1970-01-01
  • 2018-04-25
  • 1970-01-01
相关资源
最近更新 更多