2015-05-05 3 views
0

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

self.pageViewController?.view.frame = CGRect(x: 0, y: 65, 
      width: self.view.frame.width, height: self.view.frame.size.height - 114) 

Это делает верхнюю и нижнюю бар шоу, как на прилагаемом изображении ниже. Тем не менее, я хотел бы изменить этот подход и сделать просмотр дочерних страниц полным экраном, но «z-indexed» за верхним и нижним столбцами, чтобы он стал полупрозрачным по всему изображению страницы. Это возможно?

enter image description here

+0

Для управления рамой pageViewController предпочтительно использовать ограничение (для этого случая topLayoutGuide и bottomLayoutGuide) http://stackoverflow.com/a/29589531/2477632. Чтобы сделать navigationBar прозрачным: http://stackoverflow.com/a/18969823/2477632 Надеюсь, что это поможет –

+0

Хорошая идея, но к сожалению это отключает все ограничения на просмотр, включая метки, изображения и т. Д. – TruMan1

+0

Единственное, что я могу думать в этой точке устанавливается фоновое изображение родительского представления. – TruMan1

ответ

0

Вы пробовали использовать topLayoutGuide? Это было исправлено для меня для других моих дочерних контроллеров.

override func viewDidLayoutSubviews() { 
    someView.contentInset.top = topLayoutGuide.length   // For navigationBar 
    someView.contentInset.bottom = bottomLayoutGuide.length // For toolBar 
} 
+0

Это определение размеров дочерних элементов, но не изменение z-индекса на навигационной панели и нижней панели. Если я делаю это не в том месте (я сделал это в представлениях для детей). – TruMan1

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