1

我的 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];
4

1 回答 1

9

显然 UIBarButtonItem 具有用于后退按钮自定义的单独功能。我必须为基于 navbar_btn.png 的后退按钮创建另一个图像并使用以下方法设置它:

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
于 2012-11-04T13:34:59.760 回答