Контроллер вида скрыт при нажатии на контроллер навигации - PullRequest
0 голосов
/ 28 марта 2019

У меня есть контроллер навигации и контроллер вида внутри контроллера навигации.Контроллер представления вызывает контроллер навигации, чтобы выдвинуть представление:

    `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 фрейма на self.navigationController.navigationBar.frame.size.height, то получу большой пробел над видом коллекции после перетаскивания вида коллекции.Как я могу сделать так, чтобы он был правильно выложен в первый раз?Нужно ли форсировать макет?Есть ли какая-то причина, по которой моя навигационная панель не учитывается для виртуального канала, пока я не перетащу в представление прокрутки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...