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

В файл AppDelegate.swift я поместил следующий код.

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
    window = UIWindow(frame: UIScreen.main.bounds)
    UINavigationBar.appearance().tintColor = .black
    window?.rootViewController = FirstViewController()
    window?.rootViewController?.view.backgroundColor = UIColor.white
    window?.makeKeyAndVisible()
    return true
}

Однако панель навигации не отображается в FistViewController.

В FirstViewController я также поместил следующий код в функцию viewwillappear для отображения панели навигации.

self.navigationController?.isNavigationBarHidden = false
self.navigationController?.navigationBar.barStyle = .black

Как я уже сказал, у меня есть раскадровка, но я использую ее только для установки FirstViewController в качестве контроллера isInitialView. У меня также есть табличное представление в FirstViewController, и я его вижу, но не вижу панели навигации.

Поэтому мне было интересно, не ошибаюсь ли я при написании кода для отображения панели навигации ...

Кто-нибудь знает, что мне здесь не хватает?

1
Yuuu 30 Июн 2021 в 13:31

2 ответа

Лучший ответ

Приложение func (приложение: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

let viewController = FirstViewController()
let navigationController = UINavigationController(rootViewController: viewController)
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
return true

}

3
jignesh 30 Июн 2021 в 10:37
let viewController = FirstViewController()
let navVc = UINavigationController(rootViewController: viewController)
window?.rootViewController = navVc

Вы не можете видеть свою панель навигации, потому что вы не встраиваете текущий контроллер представления в контроллер навигации.

0
Shiraz Khan 30 Июн 2021 в 10:36