У меня есть подкласс 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
}
Есть ли причина, по которой вы не встраиваете свой контроллер навигации в UITabBarController? Переход по этому маршруту гарантирует, что вы получите всю эту функциональность «бесплатно». –
@WayneHartman, потому что я хочу иметь панель вкладок поверх экрана и настроить его внешний вид. Haven действительно изучил эту возможность, но мой опыт использования UITabBarController заключается в том, что это очень больно настраивать. – harinsa