Я использую UITableViewController, встроенный в UINavigationController.Моя цель - настроить панель навигации, а также увеличить ее высоту.Однако, кажется невозможным увеличить высоту UINavigationBar, управляемого UINavigationController.Я читал, что некоторым людям удалось скрыть UINavigationBar и заменить его пользовательским UIView, который выглядит как UINavigationBar.Мой вопрос заключается в том, как мне добиться этого и имитировать функциональность UINavigationBar, который автоматически вставляет UITableView при прокрутке?Я пробовал это, но не уверен, что это правильно и не сломается в будущих версиях iOS.И табличное представление не прокручивается автоматически в ответ на изменение в contentInset, почему?
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
var frame = self.navigationController!.navigationBar.bounds
frame = CGRect(x: frame.origin.x, y: frame.origin.y, width: frame.width, height: frame.height + 15)
self.navigationController?.setNavigationBarHidden(true, animated: false)
let navView = UIView()
navView.backgroundColor = UIColor.green
navView.frame = frame
self.navigationController!.view.addSubview(navView)
tableView.contentInset = UIEdgeInsets(top: frame.height, left: 0, bottom: 0, right: 0)
tableView.reloadData()
}