Iphone 如何更改默认BackburbuttonItem上的颜色/图像?

Iphone 如何更改默认BackburbuttonItem上的颜色/图像?,iphone,iphone-sdk-3.0,Iphone,Iphone Sdk 3.0,我需要更改默认“self.navigationItem.BackBarButtonim”的颜色。为了实现这一点,我创建了一个自定义按钮类,并实现如下: - (void)viewDidLoad { [super viewDidLoad]; BackButton *blueSaveButton = [[BackButton alloc] init]; UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init

我需要更改默认“self.navigationItem.BackBarButtonim”的颜色。为了实现这一点,我创建了一个自定义按钮类,并实现如下:

- (void)viewDidLoad {
[super viewDidLoad];    
BackButton *blueSaveButton = [[BackButton alloc] init];
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:blueSaveButton];
temporaryBarButtonItem.title = @"Tillbaka";
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[temporaryBarButtonItem release];
[blueSaveButton release];
[self gotoLocation];
}

但这对按钮没有任何影响。 那么,如何在不“破坏”导航栏的默认/继承行为的情况下做到这一点呢

编辑:原因是该按钮需要企业品牌,因此默认样式不适用


BR

如果希望按钮为蓝色(如“完成”按钮)且标题为“保存”,则可以使用其中一种内置的条形按钮项目类型:

UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(myAction:)] autorelease];

如果希望按钮为蓝色(如“完成”按钮)且标题为“保存”,则可以使用其中一种内置的条形按钮项类型:

UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(myAction:)] autorelease];
确定找到了解决方案(不是很好,但很有效)请执行以下操作: 1:实现本教程中的按钮:

这将覆盖navigationbar的默认行为

2:在每个需要自定义按钮的视图中实现此功能:

BR

确定找到了解决方案(不是很好,但有效)执行以下操作: 1:实现本教程中的按钮:

这将覆盖navigationbar的默认行为

2:在每个需要自定义按钮的视图中实现此功能:


BR

太快了。我需要设置自定义颜色或图像(企业品牌)。这确实是iPhone开发的一个严重缺点,这种简单的任务需要大量定制一个简单的控件。创建一个
UIButton
,使用
setTitle:forState:
setBackgroundImage:forState
方法设置其标题和背景图像属性,然后使用
UIButton
实例作为自定义视图创建
UIBarButtonItem
。据我所知,在按钮上设置背景色是不够的。我已经在BackButton控制器中这样做了。我得出的结论是NavigationBarItem覆盖了我的自定义控制器。这很快。我需要设置自定义颜色或图像(企业品牌)。这确实是iPhone开发的一个严重缺点,这种简单的任务需要大量定制一个简单的控件。创建一个
UIButton
,使用
setTitle:forState:
setBackgroundImage:forState
方法设置其标题和背景图像属性,然后使用
UIButton
实例作为自定义视图创建
UIBarButtonItem
。据我所知,在按钮上设置背景色是不够的。我已经在BackButton控制器中这样做了。我得出的结论是NavigationBarItem覆盖了我的自定义控制器。