Swift iOS -Программный RootView Контроллер светло-серый?

Я только вхожу в программные виртуальные каналы без каких-либо раскадровок и слежу за LetsBuildThatApp на YouTube Брайана Вонга за руководством https://youtu.be/NJxb7EKXF3U?list=PL0dzCUj1L5JHDWIO3x4wePhD8G4d1Fa6N.

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

Шаг 1. Я удалил свой файл раскадровки и открыл вкладку "Общие" в разделе "Информация о развертывании". Я удалил "Основной" из основного интерфейса.

Шаг 2: Я изменил свой файл ProjectNavigator на FeedController, затем изменил файл соответственно

import UIKit

class FeedController: UICollectionViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        navigationItem.title = "Facebook Feed"
        collectionView?.backgroundColor = UIColor.white
    }
}

Шаг 3: В AppDelegate я добавил NavVC и сделал FeedVC его корневым, а NavVC - корневым. Я также изменить цвет NavBar и StatusBar

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        window = UIWindow(frame: UIScreen.main.bounds)
        window?.makeKeyAndVisible()

        let feedController = FeedController(collectionViewLayout: UICollectionViewFlowLayout())
        let navVC = UINavigationController(rootViewController: feedController)
        window?.rootViewController = navVC

        UINavigationBar.appearance().tintColor = UIColor.blue
        UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
        application.statusBarStyle = .lightContent

        return true
    }

Шаг 4: В info.plist Я поставил View controller-based status bar appearance в NO

Я не могу понять, почему у меня светло-серая дымка на экране

Что мне здесь не хватает?

1 ответ

Похоже, вы настраиваете tintColor вместо barTintColor. TintColor изменяет цвет кнопок навигации, а barTintColor настраивает цвет фона панели навигации. Вы можете посмотреть это видео для получения дополнительной информации о настройке внешнего вида панели навигации.

https://www.youtube.com/watch?v=RO8_mqRJO-4

Другие вопросы по тегам