dbenitobaldeon
dbenitobaldeon

Reputation: 324

how use navigation controller with xib in Swift

I have a query which is quite intriguing to me, it happens that I am learning Swift, it seems to me fantatisc the tools that xcode provides make the job a lot easier, but based on my experience in Android projects as a minimum it is recommended to use MVC to maintain the order of the project, same try to swift for which they recommended me to use xib files, it can also be used to work in groups. Until there is everything fantastic but when I tried to implement it I find it too complicated, for which I preferred to use storyboards but the use of libraries and other files make that when loading my storyboard file I delayed too much which is because it is loaded with enough ViewController. Added to this, using the NavigationController in storyboards is easy, it makes navigating a lot easier. My problem is how could I do this with xib files? In a moment I try to do it, but my ViewController loaded vertically and without the navigation bar and I have no idea how to develop it.

By code to load a ViewController is this way.

let Storyboard = UIStoryboard(name: "Main", bundle: nil)
        let menuVC = Storyboard.instantiateViewController(withIdentifier: "MenuSelectedViewController") as! MenuSelectedViewController
        self.navigationController?.pushViewController(menuVC, animated: true)

And by interface builder with segue

enter image description here

So how can I develop this navigation bar with xib files and my TabBarController ?

Upvotes: 2

Views: 5301

Answers (1)

Razi Tiwana
Razi Tiwana

Reputation: 1435

You just need UINavigationController(rootViewController: yourViewController)

Here is an example using this

let yourViewController = DiscoverViewController(nibName: "yourViewController", bundle: nil)
yourViewController.tabBarItem.image = UIImage(named: "imageName")
let navigationController = UINavigationController(rootViewController: yourViewController)

// TabBarController
let tabbarController = UITabBarController()
tabbarController.tabBar.tintColor = ThemeColor
tabbarController.tabBar.barTintColor = .white
tabbarController.viewControllers = [navigationController] //add your other  controllers here as needed

// Make it root or what ever you want here
self.window?.rootViewController = tabbarController
self.window?.makeKeyAndVisible()

Upvotes: 2

Related Questions