我正在这样写我的应用程序路由器:
final class AppRouter {
let navigationController: UINavigationController
init(window: UIWindow) {
navigationController = UINavigationController()
window.rootViewController = navigationController
...
}
我在呼叫路由器初始化程序
application:didFinishLaunchingWithOptions:
方法。
我试图通过改变它的属性,子属性,使用
UINavigationBar.appearance()
什么都不管用。我在设定
translucent
错了。只有故事板的改变有任何效果,但是我有基于故事板的导航,我不想这样做。
我看过很多关于这个问题的帖子,没有任何效果。
如果有人有菜谱,那是最新的iOS(目前11.4),请分享!
编辑
就像我说的那样改变:
UINavigationBar.appearance().barTintColor = color
UINavigationBar.appearance().isTranslucent = false
这在didfinitishlaunching中使用。
或在构造器中:
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
}