How do you change color/image on the default backB

2019-02-20 16:39发布

I need to change color on the default "self.navigationItem.backBarButtonItem". To accomplish this I´ve created an custom Button class and implemented it like this:

- (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];

}

But this has no effect at all on the button. So how do you manage to do this without "breaking" the default/inherited behavior of the navigationbar?

EDIT: The reason is that the button needs to be corporate branded, so default styles will not do.

BR

2条回答
Ridiculous、
2楼-- · 2019-02-20 16:53

Ok found the solution (not so good but it works) do this: 1: Implement the button from this tutorial: www.switchonthecode.com

This will override the default behavior of navigationbar.

2: Implement this in every view that needs the custom button: osmorphis.blogspot.com

BR

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-02-20 17:05

If you want the button to be blue (like a Done button) and have the title "Save" you can use one of the built in bar button item types:

UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(myAction:)] autorelease];
查看更多
登录 后发表回答