// 自定义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 |