推导航控制器时,视图控制器被遮盖

时间:2019-03-27 22:01:37

标签: ios objective-c layout viewcontroller

我在导航控制器内部有一个导航控制器和一个视图控制器。 视图控制器调用导航控制器来推送视图:

    `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时,它看起来如下所示: Collection View

Overlap

分隔线上方是我的导航栏,红色是我的大学视野。 看起来收藏视图位于我的导航栏中。如果在集合视图上拖动,则布局正确。 如果我尝试将_collectionView框架的y位置更改为 self.navigationController.navigationBar.frame.size.height但是,在集合视图上拖动后,我的集合视图上方有一个大空白。我如何才能在第一时间正确地布置它?我必须强制布局吗?出于某种原因,直到我在滚动视图中拖动,我的导航栏才被vc忽略掉?

0 个答案:

没有答案
相关问题