gpt4 book ai didi

ios - UINavigationBar 的 UIAppearance 在与自定义 View Controller 一起使用时无法正常工作...?

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:25 25 4
gpt4 key购买 nike

我有一个方法可以设置 UINavigationBar 的外观。 FlightSearchViewController 是 UIViewController 的子类,但导航栏未按预期更新。如果我用 UIViewController 代替 FlightSearchViewController,一切正常。

private class func setupNavigationBarAppearance() {
UINavigationBar.appearance().barStyle = .Black
UINavigationBar.appearance().translucent = false
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor.whiteColor(), NSFontAttributeName: UIFont.ixiRegularFontOfSize(17)]
UINavigationBar.appearance().tintColor = UIColor.clearColor()
UINavigationBar.appearance().barTintColor = Color.navBarThemeColor

var navBarAppearanceControllers = [AnyObject.Type]()
navBarAppearanceControllers.append(FlightSearchViewController.self)
let navBarAppearance = UINavigationBar.appearanceWhenContainedInInstancesOfClasses(navBarAppearanceControllers)
navBarAppearance.barTintColor = UIColor.clearColor()
navBarAppearance.backgroundColor = UIColor.clearColor()
navBarAppearance.tintColor = UIColor.clearColor()
navBarAppearance.setBackgroundImage(UIImage(), forBarMetrics: .Default)
navBarAppearance.shadowImage = UIImage()
navBarAppearance.translucent = true
navBarAppearance.titleTextAttributes = [NSForegroundColorAttributeName : UIColor.whiteColor(), NSFontAttributeName: UIFont.ixiRegularFontOfSize(17)]
}

最佳答案

您的导航栏不包含在 FlightSearchViewController 中,而是在 View Controller 层次结构中位于其上方。 'appearanceWhenContainedInInstancesOfClasses' 表示包含在您的 viewController 中的 UINavigationBar 将得到更新。但事实并非如此,因为导航栏包含在 UINavigationController 中。

如果你尝试

let navBarAppearance = UINavigationBar.appearanceWhenContainedInInstancesOfClasses([UIViewController.self]),它将起作用。但是,您会在每个 View Controller 上看到更改。

关于ios - UINavigationBar 的 UIAppearance 在与自定义 View Controller 一起使用时无法正常工作...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36912522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com