objective-c - UIAppearance和UINavigationBar Controller

标签 objective-c ios uinavigationcontroller uiappearance

我有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。

是否可以设置默认的导航后退按钮图像(无需手动更改每个viewcontroller)或将图像转换为UIColor?

谢谢!

更新:答案低于

显然,UIBarButtonItem具有用于后退按钮自定义的单独功能。我必须基于navbar_btn.png为后退按钮创建另一个图像,并使用以下命令进行设置:
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

最佳答案

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

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

关于objective-c - UIAppearance和UINavigationBar Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13218795/

相关文章:

objective-c - 像 '1 << 0' 这样的 typedef 枚举语法是什么意思?

ios - 如何提取JSON数组?

objective-c - 将字符集名称转换为 NSStringEncoding

swift - 无法在 iPhone 6 plus 上设置 bartintcolor

ios - 设计一个自定义 View ,用于多个 ViewController 的

ios - Pubnub 消息未在 Swift 中转换为 JSON

ios - 如何将 Float 转换为 NSData 字节

ios - 在 Swift 中使用泛型数组作为参数的函数

ios - 在 UINavigationBar 左侧的 "back"按钮旁边添加另一个按钮

uiviewcontroller - pushviewcontroller 动画缓慢/断断续续