Самый простой способ сделать это - настроить элемент навигации в вашем контроллере представления (так что вы не создаете панель навигации самостоятельно, вы оставляете ее до содержащей UINavigationController
). Следующее, я думаю, довольно близко познакомит вас с этим.
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Chat"
navigationItem.leftBarButtonItem = UIBarButtonItem.init(barButtonSystemItem: .close, target: nil, action: nil)
// Color the backgrounds for debugging.
view.backgroundColor = .lightGray
navigationController?.navigationBar.backgroundColor = .red
}
}
Если вы используете раскадровку для создания своего начального контроллера представления, то выберите свой контроллер представления и выберите «Редактор»> «Встроить»> «Контроллер навигации». Или, если вы делаете все в коде, вам просто нужно изменить, где бы вы ни создавали этот текущий контроллер представления, на что-то вроде:
let navController = UINavigationController(rootViewController: ChatViewController())
К сожалению, это не сработает, если prefersLargeTitles
on iOS 13. Я отредактирую этот ответ с решением для этого, когда я придумаю его. Однако ваш снимок экрана не выглядит так, как будто для этого параметра установлено значение true, хотя он есть в вашем коде, поэтому, возможно, это не имеет большого значения.