4

我在创建像Uber 应用程序这样的自定义导航栏时遇到问题。

截屏

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

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

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

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

截屏

有谁知道我该如何解决?

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

截屏

提前致谢

4

1 回答 1

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并正确设置其尺寸的问题。

于 2013-05-07T01:47:59.763 回答