【发布时间】:2018-06-26 08:17:00
【问题描述】:
我正在这样写我的应用路由器:
final class AppRouter {
let navigationController: UINavigationController
init(window: UIWindow) {
navigationController = UINavigationController()
window.rootViewController = navigationController
...
}
我正在application:didFinishLaunchingWithOptions: 方法中调用路由器初始化程序。
我试图通过使用 UINavigationBar.appearance() 更改它的属性、子属性来更改它的样式(颜色、字体和其他)
没有任何作用。我将translucent 设置为false。只有情节提要更改才会产生任何影响,但是我有基于情节提要的导航,这是我不想拥有的。
我看过很多关于这个问题的帖子,没有任何效果。
如果有人有适用于最新 iOS(当前为 11.4)的食谱,请分享!
编辑:
就像我说的那样进行更改:
UINavigationBar.appearance().barTintColor = color
UINavigationBar.appearance().isTranslucent = false
这在 didFinishLaunching 中使用。
或在构造函数中:
navigationController.navigationBar.barTintColor = color
这两种方法都无法设置导航控制器栏的颜色。
编辑 2: 应用委托调用:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let window = UIWindow(frame: UIScreen.main.bounds)
self.window = window
window.makeKeyAndVisible()
appRouter = AppRouter(window: window)
return true
}
【问题讨论】:
-
显示不起作用的代码+如何集成和使用
AppRouter -
您可以添加您的
AppDelegate代码吗?
标签: ios swift uinavigationcontroller uinavigationbar