我在我的应用程序中使用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。

最佳答案

我认为您需要将ViewController的“工具栏”更改为“导航栏”,并在上面放置控件

检查这张图片

关于ios - 停止UINavigationBar覆盖内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15561449/

10-14 20:30
查看更多