У меня есть UIViewController
с навигационной панели HIDDEN
, пару кнопок вверх Верхним и UITableView
с UISearchController
в качестве заголовка. Вот вопрос: когда я создаю UISearchController
, у меня есть эта строка:IOS - UISearchController - definesPresentationContext вопрос макет
self.definesPresentationContext = YES;
Теперь то, что происходит в том, что при поиске с помощью UISearchController
, и нажать на одну из результатов в UITableView
, он открывает мой следующий UIViewController
(это именно то, что он должен делать, - и следующее UIViewController
также верно скрывает навигационную панель), но отображает сероватую навигационную панель вверху UIViewController
, хотя я устанавливаю навигационную панель как скрытый.
Теперь, когда я установил:
self.definesPresentationContext = NO;
панель навигации не отображается в следующем виде, но вместо этого, UISearchController's SearchBar
появится в следующем UIViewController
на том же месте, как это было в основном контроллере представления , хотя это, очевидно, не должно быть там больше.
Это то, что он должен выглядеть (вверху UIViewController):
Это то, что происходит, когда `self.definesPresentationContext = YES;
И это то, что происходит, когда `self.definesPresentationContext = NO;
Как я могу вернуться к ситуации номер один? UPDATE Вот пример проекта, который дублирует этот вопрос: http://www.filedropper.com/sampleprojectbugreport
Я думаю, что это ошибка Apple. Я сообщил об этом. Они попросили меня предоставить образец проекта, который я предоставил. –
Как вы сказали: «« Следующий UIViewController также имеет скрытую навигационную панель », но он отображает сероватую панель навигации в верхней части UIViewController, хотя я настраиваю панель навигации как скрытую« ... какой код вы написали, чтобы скрыть навигацию и где вы разместили that.ie на каком методе. – Vizllx
Где вы определяете self.definesPresentationContext = YES? во втором контроллере просмотра? как вы представляете контроллер 2-го вида через segue или навигация или по модулю? для этого нужен код. – Vizllx