iphone – 自定义ios app导航栏按钮

我在创建像
Uber app这样的自定义导航栏时遇到了问题.

我将我的按钮背景图像设置为:

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

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

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

有谁知道我怎么能解决它?

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

提前致谢

最佳答案

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

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

点赞