我在创建自定义导航栏时遇到问题,例如Uber app。
我将按钮背景图片设置为:
UIImage *button44 = [[UIImage imageNamed:@"navButtonAdd"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UIBarButtonItem appearance] setBackgroundImage:button44 forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
但是,如果我从xcode界面上的按钮中删除文本,它也会消失图像,并且右边还有一个填充,重新开始重复我的图像。
有谁知道我怎么解决它?
这是我试图用作按钮的图像
提前致谢
答案 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并正确设置其尺寸的问题。