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 настраивает цвет фона панели навигации. Вы можете посмотреть это видео для получения дополнительной информации о настройке внешнего вида панели навигации.