如何从导航栏中删除后退按钮

时间:2012-06-04 13:29:35

标签: objective-c ios xcode

我有那个代码。它可以添加编辑按钮到导航栏,但后退按钮仍然存在,但它变得不负责任。

UIBarButtonItem *editButton = [[UIBarButtonItem alloc] 
                               initWithTitle:@"Edit"                                            
                               style:UIBarButtonItemStyleBordered 
                               target:nil 
                               action:nil];
[[self.navigationController.navigationBar.items objectAtIndex:1] setRightBarButtonItem:editButton];

[[self.navigationController.navigationBar.items objectAtIndex:1]setHidesBackButton:YES];

5 个答案:

答案 0 :(得分:7)

简单而简短:

  self.navigationItem.backBarButtonItem = nil;

  self.navigationItem.leftBarButtonItem = nil;

答案 1 :(得分:7)

我之前做过类似的事情。在控制器中,无论你在pushViewController上做什么,都要按下你不需要后退按钮的下一个视图控制器:

 myNextViewController.navigationItem.hidesBackButton = YES;
 [self.navigationController pushViewController:myNextViewController animated:YES];

答案 2 :(得分:3)

您也可以使用

目标-C:

self.navigationItem.hidesBackButton = YES;

夫特:

navigationItem.hidesBackButton = true

答案 3 :(得分:1)

其中任何一个都可以使用

self.navigationItem.leftBarButtonItem = nil;

self.navigationItem.backBarButtonItem = nil;

答案 4 :(得分:1)

这是旧的,但今天看完这个答案:

self.navigationItem.hidesBackButton = YES;

是正确的但是不完整,这需要在以后的生命周期方法中进行,然后是viewDidLoad,也就是将它放在viewWillApper或稍后的东西中它会起作用

- (void)viewWillAppear:(BOOL)animated{
    self.navigationItem.hidesBackButton = YES;
}

希望这有助于像我今天一样看待旧帖子的人