自定义ios app导航栏按钮

时间:2013-05-07 00:31:09

标签: iphone ios uinavigationbar

我在创建自定义导航栏时遇到问题,例如Uber app

screenshot

我将按钮背景图片设置为:

UIImage *button44 = [[UIImage imageNamed:@"navButtonAdd"]
                     resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];

[[UIBarButtonItem appearance] setBackgroundImage:button44 forState:UIControlStateNormal
                                      barMetrics:UIBarMetricsDefault];

但是,如果我从xcode界面上的按钮中删除文本,它也会消失图像,并且右边还有一个填充,重新开始重复我的图像。

screenshot

有谁知道我怎么解决它?

这是我试图用作按钮的图像

screenshot

提前致谢

1 个答案:

答案 0 :(得分:2)

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"button"]]];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"uberbar.png"] forBarMetrics:UIBarMetricsDefault];

如果我没弄错,你需要在UIBarButtonItem上有一个自定义视图。因此,您可以获取外观代理,为控制器设置图像,或直接自定义图像。填充是对图形进行photoshopping并正确设置其尺寸的问题。