我的目标是在导航项目的右侧添加一个按钮。问题是,我的UINavigationItem上的tintColor是深灰色,但我希望按钮(UIBarButtonSystemItemAdd)是白色而不是灰色。
在阅读之后,似乎我必须制作我自己的白色自定义图像以完成此操作,我已经完成了,并且我使用以下代码进行设置:
UIBarButtonItem *addButton = [[UIBarButtonItem alloc]
initWithImage:[UIImage imageNamed:@"CustomAddButton.png"]
style:UIBarButtonItemStylePlain
target:self
action:@selector(addNewItem)];
self.navigationItem.rightBarButtonItem = addButton;
其中CustomAddButton@2x.png是40x40图像,带有alpha图层,只有白色加号。 它不是显示为白色的图像,而是比tintColor稍浅的灰色 它包含的navigationItem包含。有没有办法让UIBarButtonSystemItemAdd显示为白色而不创建自定义图像?如果没有,我是什么 做错了?
谢谢!
答案 0 :(得分:0)
UIBarButtonItemStylePlain
在UINavigationBar
上看起来不像您想象的那样,您可以使用以下代码:
UIImage* addImage = [UIImage imageNamed:@"add.png"];
CGRect frame = CGRectMake(0, 0, addImage.size.width, addImage.size.height);
UIButton *addButton = [[UIButton alloc] initWithFrame:frame];
[addButton setBackgroundImage:addImage forState:UIControlStateNormal];
[addButton addTarget:self action:@selector(addAction) forControlEvents:UIControlEventTouchUpInside];
[addButton setShowsTouchWhenHighlighted:YES];
UIBarButtonItem *addBarButtonItem =[[UIBarButtonItem alloc] initWithCustomView:addButton];
self.navigationItem.leftBarButtonItem = addBarButtonItem;
干杯......