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