来自苹果的文档:
backBarButtonItem
当导航栏上需要后退按钮时使用的栏按钮项目。
@property(nonatomic, retain) UIBarButtonItem *backBarButtonItem 讨论
当此导航项位于堆栈顶部项的正下方时,导航控制器会从此导航项派生导航栏的后退按钮。当此属性为 nil 时,导航项使用其 title 属性中的值来创建适当的后退按钮。如果要为后退按钮指定自定义图像或标题,则可以将自定义栏按钮项(带有自定义标题或图像)分配给此属性。在配置你的 bar button item 时,不要为其分配自定义视图;导航项无论如何都会忽略后退栏按钮中的自定义视图。
因此,您可以创建您的 barButtonItem(例如– initWithTitle:style:target:action:
)并将其分配给该属性。
此外,如果您想为UIBarButtonItem
(左或右)自定义图像,我建议您创建一个类别扩展,如下所示:
//UIBarButtonItem+Extension.h
+ (UIBarButtonItem*)barItemWithImage:(UIImage*)image title:(NSString*)title target:(id)target action:(SEL)action;
//UIBarButtonItem+Extension.m
+ (UIBarButtonItem*)barItemWithImage:(UIImage*)image title:(NSString*)title target:(id)target action:(SEL)action
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height);
button.titleLabel.textAlignment = UITextAlignmentCenter;
[button setBackgroundImage:image forState:UIControlStateNormal];
[button setTitle:title forState:UIControlStateNormal];
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
return [barButtonItem autorelease];
}
然后将其用作
UIBarButtonItem* backBarButtonItem = [UIBarButtonItem barItemWithImage:[UIImage imageNamed:@"YoutImageName"] title:@"YourTitle" target:self action:@selector(doSomething:)];