// 自定义nav的返回按钮样式:
方式一
UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Setting" style:UITabBarSystemItemContacts target:self action:@selector(clickSettings:)];
self.navigationItem.rightBarButtonItem = anotherButton;
[anotherButton release];
方式二:
UIImage *backButton = [[UIImage imageNamed:@"button_down.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15.0, 0, 5.0)];
UIImage *backButtonHighlighted = [[UIImage imageNamed:@"button_down.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 15.0, 0, 5.0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButton forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonHighlighted forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
上面的办法只是一次性定义返回按钮的文字,如果需要把所有返回按钮的文字都改成返回,那就需要用到Category:
UINavigationItem+MyBackButton.h
1 2 3 | @interface UINavigationItem (MyBackButton) @end |
UINavigationItem+MyBackButton.m
1 2 3 4 5 6 7 8 9 | #import "UINavigationItem+MyBackButton.h" @implementation UINavigationItem (MyBackButton) - (UIBarButtonItem *)backBarButtonItem { return [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil]; } @end |