我的 UIBarButtonItems 和 UINavigationBar 有背景图像。我正在尝试使用 UIAppearance 来自定义所有这些:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:[UIImage imageNamed:@"navbar_btn.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
它工作得很好。唯一的问题是 UINavigationBar 上的默认后退按钮仍然使用标准的 iOS 背景颜色/图像。当我在 [UINavigationBar 外观] 上设置 TintColor 时,它会改变颜色,但这只需要一个 UIColor。
是否可以设置默认导航返回按钮图像(无需手动更改每个视图控制器)或将图像转换为 UIColor?
谢谢!
更新:答案如下
显然 UIBarButtonItem 具有用于后退按钮自定义的单独功能。我必须为基于 navbar_btn.png 的后退按钮创建另一个图像并使用以下方法设置它:
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];