使用tintColor将图像添加到UINavigationBar

时间:2013-06-13 14:34:21

标签: iphone objective-c uinavigationbar

我正在尝试将图像添加到具有自定义颜色的UINavigationBar中。我希望避免为整个事情使用.png,并以编程方式设置颜色,并将图标放在彩色导航栏的顶部。

self.navigationController.navigationBar.tintColor = [UIColor redColor];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"icon.png"] forBarMetrics:UIBarMetricsDefault];

UIBarMetricsDefault导致图像图标重复,我只想在中心找到一个。 UIBarMetricsDefault和UIBarMetricsLandscapePhone设置对我不起作用,我希望有人知道更好的建议。

我试图避免在整个导航栏中使用.png,并希望将图像添加到以编程方式设置的颜色。谢谢!

1 个答案:

答案 0 :(得分:3)

您设置颜色的方式是正确的。
要在中心设置图像,请使用navigationItem的titleView属性,如下所示:

self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon.png"]];