Как уже говорили другие, это, вероятно, не очень хороший пользовательский опыт. Идея контроллера вкладок заключается в том, что он позволяет пользователю свободно переключаться между различными частями своего приложения и возвращаться к тому, что он делал раньше.
Если вы решили сделать это таким образом, то сделайте корневой контроллер контроллера представления навигации пользовательским подклассом и установите его в качестве делегата контроллера панели вкладок.
В вашем собственном контроллере представления реализуйте функцию shouldSelect (), как показано ниже:
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool
{
if viewController == self.navigationController {
self.navigationController.popToRootViewController()
}
return true
}
Раскрытие: я не пытался скомпилировать код выше, тем более протестировать его.