隐藏导航控制器的右边栏button

有谁知道如何隐藏一个UINavigationController ? 在我的应用程序中,我有一个编辑button作为UINavigationControllerrightBarButtonItem 。 我想隐藏这个? UIBarButton`当一些操作完成。

隐藏右键: self.navigationItem.rightBarButtonItem = nil;

现在,为了表明它:

  1. 如果你在视图控制器中设置了正确的button,只需将它分配给self.editButtonItem,然后再简单地指定它就可以显示它:

    self.navigationItem.rightBarButtonItem = self.editButtonItem;

  2. 如果你通过分配和初始化一个UIBarButtonItem在你的视图控制器中设置了正确的button,那么只需在你的视图控制器中保存一个对UIBarButtonItem的引用,并在需要显示的时候再次分配它。

尝试

 self.navigationItem.rightBarButtonItem = nil; 

当你想要回来,但你将不得不instanciatebutton即

 UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(searchBar:)]; self.navigationItem.rightBarButtonItem = rightBarButton; [rightBarButton release]; 

如果您需要根据某些条件隐藏/显示button,请尝试以下操作:

 if (condition) { self.navigationItem.rightBarButtonItem.title = @""; self.navigationItem.rightBarButtonItem.enabled = NO; } else { self.navigationItem.rightBarButtonItem.title = @"my button title"; self.navigationItem.rightBarButtonItem.enabled = YES; } 

这样您就不必保存对属性中button的引用,也不必担心在新button上configuration该操作。