Панель вкладок исчезает при нажатии на представление в меню вкладок? - PullRequest
0 голосов
/ 28 октября 2018

ProfileVC - представление меню вкладки.Я выдвинул SampleView с контроллером навигации из ProfileVC.Если я отклоняю SampleView, я могу видеть tabBar на ProfileVC, но если я представляю ProfileVC из SampleView, я не вижу tabBar, он исчезает.

Увольнение будет проблемой для hiearchy.Мне нужно перейти прямо в профиль ViewView

То есть push и back коды.

@IBAction func goToToolbox(_ sender: Any) {
        let transition = CATransition()
        transition.duration = 0.3
        transition.type = kCATransitionPush
        transition.subtype = kCATransitionFromRight
        transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
        view.window!.layer.add(transition, forKey: kCATransition)

        let presentedVC = self.storyboard!.instantiateViewController(withIdentifier: "ToolboxVC")
        presentedVC.navigationController?.navigationBar.backgroundColor = UIColor.cyan

        let nvc = UINavigationController(rootViewController: presentedVC)
        present(nvc, animated: false, completion: nil)
    }


@objc func didTapCloseButton(_ sender: Any) {
        if let presentedVC = presentedViewController {
            let transition = CATransition()
            transition.duration = 0.3
            transition.type = kCATransitionPush
            transition.subtype = kCATransitionFromLeft
            transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
            presentedVC.view.window!.layer.add(transition, forKey: kCATransition)
        }
        let profileVC = self.storyboard!.instantiateViewController(withIdentifier: "ProfileVC")



       present(profileVC, animated: false, completion: nil)
        presentedVC = nil
    }

1 Ответ

0 голосов
/ 28 октября 2018

В основном потому, что вы создаете экземпляр UIViewController, а не TabBar.

И UIViewController встроен в TabBar, следовательно,

Вам необходимо дать TabBarController на IB идентификаторе,

и используйте его для его представления, и он автоматически переключится на первую вкладку.

     let TabBar = self.storyboard!.instantiateViewController(withIdentifier: "MyTabBarID")

      present(TabBar, animated: false, completion: nil) 

Однако я не знаю, почемуне просто dismiss представленный UINavigationController вот так.

 self.navController.dismiss(animated: true) {
     self.navController = nil
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...