Как использовать навигационный контроллер с XIB в Swift - PullRequest
1 голос
/ 20 июня 2019

У меня есть вопрос, который меня очень заинтриговал, бывает, что я изучаю Swift, мне кажется, что мне просто нравятся инструменты, предоставляемые xcode, которые значительно облегчают работу, но, как минимум, основаны на моем опыте в проектах Android Рекомендуется использовать MVC для поддержания порядка проекта, так же попробуйте swift, для которого они рекомендовали использовать xib-файлы , его также можно использовать для работы в группах. Пока нет ничего фантастического, но когда я попытался реализовать это, я нахожу это слишком сложным, для чего я предпочел использовать раскадровки , но использование библиотек и других файлов делает это при загрузке файла раскадровки слишком большой задержкой это потому, что он загружен с достаточным количеством ViewController . В добавление к этому, использование NavigationController в раскадровках очень просто, это значительно упрощает навигацию. Моя проблема в том, как я могу сделать это с файлами XIB? Через мгновение я пытаюсь это сделать, но мой ViewController загружается вертикально и без панели навигации, и я не знаю, как его разработать.

По коду для загрузки ViewController это так.

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

И создатель интерфейса с Segue

enter image description here

Так как мне разработать эту панель навигации с файлами xib и моим TabBarController ?

1 Ответ

0 голосов
/ 20 июня 2019

Вам просто нужно UINavigationController(rootViewController: yourViewController)

Вот пример использования этого

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()
...