在segue到root viewController之后,UIToolbar没有显示出来

时间:2017-02-25 08:53:16

标签: ios swift xcode swift3 uitoolbar

我有一个故事板,在某些时候,有一个push segue到root / main viewController。

问题是:当segue执行"时,我的工具栏正在消失。 (toolBar不会出现在最初有一个toolBar的viewController中。)

我试图在viewDidLoad()中将isHidden属性设置为false,也尝试在前一个控制器的prepareForSegue()中尝试将xcode中的下拉列表从推断更改为半透明工具栏,以及我在其中找到的其他几种推荐方法这里。他们都没有工作。

我尝试过的例子:

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController?.isToolbarHidden = false
}

我在想这可能是因为我的appDelegate代码,因为我在导航控制器上遇到了类似的问题,我只是通过设置一个导航控制器到window.rootViewController来修复,如下所示。关于如何在"优雅"中解决工具栏问题的任何建议方式是什么?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

    let isUserAuthenticated:Bool = UserDefaults.standard.bool(forKey: "isUserAuthenticated")

    if(!isUserAuthenticated) {
        let loginViewController = mainStoryBoard.instantiateViewController(withIdentifier: "loginView") as! LoginPageViewController
        window!.rootViewController = loginViewController
        window!.makeKeyAndVisible()

    } else {
        let protectedPage = mainStoryBoard.instantiateViewController(withIdentifier: "viewController") as! ViewController

        // this was necessary in order to instantiate the navigation controller and it show up in the page
        let navigationController = UINavigationController(rootViewController: protectedPage)

        window!.rootViewController = navigationController
        window!.makeKeyAndVisible()
    }

    return true
}

0 个答案:

没有答案