Во-первых, это поведение по умолчанию , когда пользователь нажимает кнопку вкладки 2 раза (первое нажатие для перехода на вкладку и второе - для входа в корень). Я бы посоветовал не редактировать это поведение, поскольку оно относится к опыту пользователя ...
Тем не менее, если вы стремитесь достичь этого (подключиться к корню всего одним касанием), реализуйте tabBarController(_:didSelect:)
как:
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
navigationController?.popToRootViewController(animated: true)
}
должно быть достаточно, что означает, что ваш фрагмент кода должен работать! Тем не менее, проблема заключается в том, что метод не даже вызывается, поэтому убедитесь, что контроллер представления соответствует UITabBarControllerDelegate
, и реализуйте:
tabBarController?.delegate = self
Добавление его в метод viewDidLoad()
должно быть в порядке.