我正在使用 iOS 的 UIAppearanceProxy 来自定义我的应用程序的外观。
在大多数应用程序中,我希望导航栏有一个背景图像。在应用程序的一个特定部分,我希望导航栏具有不同的背景图像。
这就是我正在做的事情application:didFinishLaunchingWithOptions:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar_bg1"]
forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearanceWhenContainedIn:[DiscoverViewController class], nil] setBackgroundImage:[UIImage imageNamed:@"navbar_bg2"] forBarMetrics:UIBarMetricsDefault];
我想将所有外观代码保存在一个地方,而不是覆盖特定视图控制器中的导航栏。
同样有助于了解的是,我的应用程序由 TabBarController 构成,其中每个选项卡控制一个 NavigationController,它拥有一个子类 ViewController,如上面的 DiscoverViewController。
我究竟做错了什么?