我在导航控制器内部有一个导航控制器和一个视图控制器。 视图控制器调用导航控制器来推送视图:
`MYVC *myvc = [MYVC new]`;
`[self.navigationController pushViewController:myvc
animated:YES]`;
在MYVC
内,我具有以下逻辑来布置收藏视图:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
_collectionView.frame = CGRectMake(0,
0,
self.view.frame.size.width,
self.view.frame.size.height - height);
}
这对于我第一次加载vc时效果很好,因为在我的导航栏下加载了集合视图。 但是,当我推送我的vc时,它看起来如下所示:
分隔线上方是我的导航栏,红色是我的大学视野。
看起来收藏视图位于我的导航栏中。如果在集合视图上拖动,则布局正确。
如果我尝试将_collectionView
框架的y位置更改为
self.navigationController.navigationBar.frame.size.height
但是,在集合视图上拖动后,我的集合视图上方有一个大空白。我如何才能在第一时间正确地布置它?我必须强制布局吗?出于某种原因,直到我在滚动视图中拖动,我的导航栏才被vc忽略掉?