2015-06-18 4 views
0

У меня есть подкласс UINavigationController и добавить пользовательский subview под UINavigationBar. Я обновляю позицию своего поднабора в методе viewDidLayoutSubviews(). Тем не менее, с помощью этого метода, когда я добавляю viewController в navigationController, представление viewController будет скрыто за моим пользовательским subview. Как добавить подвью, чтобы он не закрывал мой вид viewController?Добавление Subview к подклассу UINavigationController

override func viewDidLoad() { 
    self.view.addSubview(tabView) 
} 

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 

    tabView.frame = CGRect(x: 0, y: self.navigationBar.frame.origin.y + self.navigationBar.frame.height, width: self.view.frame.size.width, height: 40.0) 
    navigationViewHeight = tabView.frame.origin.y + tabView.frame.size.height 

} 
+0

Есть ли причина, по которой вы не встраиваете свой контроллер навигации в UITabBarController? Переход по этому маршруту гарантирует, что вы получите всю эту функциональность «бесплатно». –

+0

@WayneHartman, потому что я хочу иметь панель вкладок поверх экрана и настроить его внешний вид. Haven действительно изучил эту возможность, но мой опыт использования UITabBarController заключается в том, что это очень больно настраивать. – harinsa

ответ

0

Вы должны рассмотреть подклассов UINavigationBar вместо UINavigationController. Вот пример добавления subview в пользовательскую навигационную панель https://gist.github.com/timothyarmes/7080170

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