我有办法隐藏导航控制器使用的后退按钮。它由前一个控制器设置,而不是管理当前视图的控制器,这使得它变得棘手。我需要在编辑模式下执行此操作,以便我可以阻止用户导航离开屏幕。
if(self.editing) {
// Get rid of the back button
UIView *emptyView = [[UIView alloc] init];;
UIBarButtonItem *emptyButton = [[[UIBarButtonItem alloc] initWithCustomView:emptyView] autorelease];
[self.navigationItem setLeftBarButtonItem:emptyButton animated:YES];
} else {
// Restore the back button
[self.navigationItem setLeftBarButtonItem:nil animated:YES];
}
有更好的方法吗?
答案 0 :(得分:45)
使用此按钮隐藏按钮
[self.navigationItem setHidesBackButton:YES]
使用此按钮显示后退按钮
[self.navigationItem setHidesBackButton:NO]
答案 1 :(得分:1)
这是我在视图控制器中使用的方法,用于在启用和禁用编辑时显示和隐藏后退按钮:
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
if (editing) {
// Disable the back button
[self.navigationItem setHidesBackButton:YES animated:YES];
}
else {
// Enable the back button
[self.navigationItem setHidesBackButton:NO animated:YES];
}
[super setEditing:editing animated:animated];
}
答案 2 :(得分:0)
从故事板到视图控制器的条形按钮具有强大(默认为弱)的插座。 将左/右条形按钮设置为nil时,目的不是松开参考。
答案 3 :(得分:0)
Swift5:
self.navigationItem.setHidesBackButton(true, animated: false)