Корректен ли этот код для включения больших заголовков?

#swift #uinavigationcontroller #preferslargetitles

#swift #uinavigationcontroller #preferslargetitles

Вопрос:

 import UIKit

class GoalViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        navigationController?.navigationBar.prefersLargeTitles = true
        navigationItem.title = "Goal"
        view.backgroundColor = .white
    }
  

Я когда-либо делал большие заголовки таким образом, но теперь VC полностью белый, может кто-нибудь сказать мне, почему?

Комментарии:

1. view.backgroundColor = .white изменяет цвет view … какой базовый вид GoalViewController. Это не меняет цвет панели навигации.

2. Есть ли GoalViewController родительский UINavigationController элемент?

3. Вот так?:« пусть goalVCNavigationController = UINavigationController(RootViewController: GoalViewController()) «` Я перепробовал все, но ничего не сработало

Ответ №1:

Вы пробовали это:

 navigationItem.largeTitleDisplayMode = .always
  

Вы также можете использовать .никогда для никогда не показывать большой заголовок или .automatic для наследования режима из предыдущего элемента навигации

Комментарии:

1. Я не понимаю…. Я перепробовал все, но это не работает. Можете ли вы показать мне, как вы настроили NavigationController / bar для VC. Может быть, то, как вы это сделаете, сработает

2. Создайте новый ViewController в раскадровке, вставьте его в навигационный контроллер и в элементе навигации установите флажок «предпочитает большие заголовки», чтобы он работал сам по себе. Но если вы перемещаетесь взад и вперед между NC с маленькими заголовками, заставляя его. всегда должно работать. Становится ли он большим, если вы перетаскиваете / прокручиваете заголовок вниз?

3. Я не использую раскадровки, просто делаю это программно