【问题标题】:How to change the color of barButtonItem?如何更改 barButtonItem 的颜色?
【发布时间】:2011-09-14 21:26:19
【问题描述】:
在作为 rightBarButtonItem 的导航栏上,我通过以下编码获取编辑按钮
self.navigationItem.rightBarButtonItem=self.editButtonItem;
但是我想改变编辑按钮的颜色我的意思是我想改变rightBarButtonItem的颜色。我该怎么做?
请尽早回复。
提前感谢。
【问题讨论】:
标签:
iphone
objective-c
xcode
uinavigationbar
【解决方案1】:
您需要创建一个自定义按钮并使用 initWithCustomView 初始化您的 UIBarButtonItem。
如果使用自定义图像,请根据需要创建 UIButton,然后:
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:yourUIButton];
【解决方案2】:
您在制作标准 UIBarButtonItem 时受到限制。但是您可以使用您选择的任何 UIView 来初始化它,例如标准 UIButton,您可以随意着色。
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(0, 0, 30, 20); // change as you like being constrained with navigation bar hieght
[myButton setTitle:@"My Button" forState:UIControlStateNormal];
[myButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[myButton setImage:[UIImage imageNamed:@"Image for my button.png"] forState:UIControlStateNormal]; // <-- you can provide image instaed of title if you like
[myButton setBackgroundImage:[UIImage imageNamed:@"Background image for my button.png"] forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside]; // <-- don't forget configure this!!!
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:myButton];