У меня небольшая проблема.

Чисто для устранения неполадок, я хочу, чтобы applicationDidBecomeActive() переименовал текущий контроллер навигации представлений.

Класс, в котором находится панель навигации, - wrapperviewController(), поэтому я могу использовать self.navigationItem.title = "Test", но я попытался сделать

wrapperviewController().navigationItem.title = "Maybe?" нет.

Я тоже попробовал wrapperviewController().navigationController.navigationItem.title = "Maybe?".

Любая помощь будет оценена, спасибо!

0
Will 24 Апр 2017 в 11:53

2 ответа

Лучший ответ

Заголовок навигации автоматически устанавливается из контроллера вида сверху UINavigationController, так что вы можете сделать это:

func applicationDidBecomeActive(_ application: UIApplication) {

    (window?.rootViewController as? UINavigationController)?.topViewController?.title = "My Debug Title"
}

Это предполагает, что корень является UINavigationController. Если у вас есть другая обертка, вы можете вставить соответствующую распаковку.

1
John McDowall 24 Апр 2017 в 09:01

Если вы меняете название заголовка навигационной панели с AppDelegate, в методе applicationDidBecomeActive () попробуйте следующий код: -

self.window?.rootViewController?.navigationItem.title = "Title Name"

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

0
Sagar Thummar 24 Апр 2017 в 09:00
43583692