0

У меня есть viewcontroller, который встроен как в диспетчер навигации навигации, так и в виде табуляции. Я предположил, что self.view геометрически будет границ, начинающихся в нижней части навигационной панели и верхней части панели вкладок. Это то, что я читал в Интернете. То, что на viewWillAppear вид изменен, чтобы существенно вычесть табуляцию и навигационную панель с высоты. Однако для меня это не происходит. Когда я выхожу из рамки моего взгляда, это одно и то же ... {{0, 0}, {375, 667}}. В viewDidLoad, viewDidLayoutSubview, willAppear, DidAppear это тот же рама. Поэтому, если я поместил imageView в подзаголовок self.view с фреймом (0,0,screenWidth, 200). Это изображениеView закрывается навигационной панелью. Для моего чтения это не стандартное поведение.Root ViewController View не учитывает TabBar и NavBar

ответ

0

Если вы хотите, чтобы ваш UIViewController начинается ниже панели навигации поставить это на viewDidLoad:

self.edgesForExtendedLayout = UIRectEdgeNone; 
+0

Я до сих пор не может изменить кадр моего вида. Это, похоже, приводит к другому кадру, который имеет меньшую высоту. но если я создаю новое представление и назначу его self.view в viewWillAppear, это игнорирует это и выводит один и тот же фрейм. –

+0

Код, который я разместил, вообще не меняет рамку. Это предотвращает распространение UIViewController под панелью навигации. Чтобы помочь вам отладить проблему, установите некоторые границы вокруг UIViews – metronic

+0

, она меняет вид. высота представления - это на самом деле теперь высота экрана, минуя статус + вкладка + навигационные бары. его просто, что я не могу вручную изменить кадр самостоятельно ни в одном из методов вида *. –

Смежные вопросы