CollectionView内容位于NavigationBar下

时间:2014-06-24 14:05:14

标签: ios objective-c uinavigationbar uicollectionview

我使用IB添加了UICollectionViewController。然后我在代码中添加了UINavigationBar

UINavigationBar *navBar = [[UINavigationBar alloc] init]; 
[navBar setFrame:CGRectMake(0, 20, self.view.frame.size.width, 44)];
[navBar setDelegate:self];
[self.view addSubview:navBar];

除了导航栏隐藏了集合视图内容这一事实外,一切正常。它不仅会在导航栏下方滚动,而且实际上会在首次加载时显示在导航栏下方。

我该如何解决?

3 个答案:

答案 0 :(得分:0)

为什么使用独立的导航栏?这可能是一个坏主意。将视图控制器嵌入到UINavigationController中,并确保将UICollectionView的顶部约束设置为顶部布局指南而不是视图。

答案 1 :(得分:0)

尝试更改集合视图的内容偏移量。我会尝试44(导航栏的高度)或64(导航栏的高度+状态栏)

答案 2 :(得分:0)

您的问题是在UINavigationBar self.view上添加UICollectionView。 您可以将简单UIViewControllerUICollectionView一起用作其视图的子视图。然后,在添加UINavigationBar后,您必须更改collectionView.frame