Представлять и отклонять представление модально в приложении с вкладками, используя swift - PullRequest
0 голосов
/ 25 сентября 2018

Я создал приложение с вкладками и могу модально представлять представление, используя приведенный ниже код, однако я застрял при закрытии вида и отображении панели вкладок и первого контроллера представления.

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let signUpViewController = storyboard.instantiateViewController(withIdentifier:"SignUpViewController") as! SignUpViewController
self.window?.makeKeyAndVisible()
self.window?.rootViewController = signUpViewController

Ответы [ 3 ]

0 голосов
/ 25 сентября 2018

Вы должны представить свой модальный vc поверх панели вкладок vc

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let signUpViewController = storyboard.instantiateViewController(withIdentifier:"SignUpViewController") as! SignUpViewController
signUpViewController.modalPresentationStyle = UIModalPresentationStyle.fullScreen
signUpViewController.modalTransitionStyle = UIModalTransitionStyle.coverVertical
self.window.rootViewController.present(myModalViewController, animated: true, completion: nil)

(если self.window.rootViewController - ваш контроллер представления панели вкладок)

И в этом случае вы можете использовать dismiss (анимированный: true, завершение: nil) метод в модальном vc для его отклонения.

0 голосов
/ 25 сентября 2018

В вашем TabBarViewController выполните следующие действия при представлении SignUpViewController

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier:"SignUpViewController")
viewController.modalPresentationStyle = .overFullScreen
self.presentViewController(viewController, animated:true)

и при отклонении просто наберите код отклонения из SignUpViewController

например dismissViewControllerAnimated

0 голосов
/ 25 сентября 2018

Внутри этого signUpViewController сделайте это после предоставления этому tabBarController идентификатора раскадровки в IB

let tab = storyboard!.instantiateViewController(withIdentifier:"tab") 
UIApplication.shared.keyWindow?.rootViewController = tab

ИЛИ

(UIApplication.shared.delegate as! AppDelegate).window?.rootViewController = tab
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...