Iphone 为什么SetBackBarButtonim在childViewController viewDIdLoad中不起作用?

Iphone 为什么SetBackBarButtonim在childViewController viewDIdLoad中不起作用?,iphone,ios,Iphone,Ios,我想在navigationItem中自定义BackburbuttonItem, 这是我的密码 - (void)viewDidLoad { [super viewDidLoad]; UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonIt

我想在navigationItem中自定义BackburbuttonItem, 这是我的密码

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                             style:UIBarButtonItemStylePlain
                                                            target:nil
                                                            action:nil];
    [[self navigationItem] setBackBarButtonItem:back];
}
但当我使用LeftBarButtonItem时,它不起作用


我不知道,有人能给我一个答案吗?

如果您使用
UINavigationController
pushViewController:animated:
方法按下视图控制器,您不必自己创建后退按钮。这将在NavigationController堆栈上推送新的ViewController,并提供一个带有上一个ViewController标题的自动后退按钮

按钮不起作用的原因是
目标:
操作:
参数是
nil
您可以将它们绑定到
UINavigationController
popViewControllerAnimated:
方法,以实现与默认后退按钮相同的操作

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                     style:UIBarButtonItemStylePlain
                                                    target:[self navigationController]
                                                    action:@selector(popViewControllerAnimated:)
                                                     ];
    [[self navigationItem] setBackBarButtonItem:back];

}

这并不针对导航控制器上下文中的“后退”按钮,但它相当于通过在左侧放置一个普通导航栏按钮来覆盖后退按钮。@karthika如何获得“后退”一词前面的<图标?[self.navigationItem SetbackBarButtonim:NewBackButtonim];
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationItem.hidesBackButton = YES;
    UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                             style:UIBarButtonItemStylePlain
                                                            target:nil
                                                            action:nil];
    self.navigationItem.leftBarButtonItem = back;
}
- (void)viewDidLoad
{
    [self.navigationItem setHidesBackButton:YES];

    UIBarButtonItem *cancelNavButton = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStylePlain target:self action:@selector(dismissController)];
    [self.navigationItem setLeftBarButtonItem:cancelNavButton];
}

- (void)dismissController
{
    [self.navigationController popViewControllerAnimated:YES];
}