有時候需求要求根據不同角色來切換、隱藏現實Navigation的UIBarButtonItem,可以這麼做
首先把storyboard/xib的對象連接到類中
@property (weak, nonatomic) IBOutlet UIBarButtonItem *addControl;
在viewDidLoad(或你想要的地方),實現:
----隱藏----
// 獲取rightBarButtonItems的引用
NSMutableArray *toolbarButtons = [self.navigationItem.rightBarButtonItems mutableCopy];
// 隱藏,實則remove掉了
[toolbarButtons removeObject:_addControl];
self.navigationItem.rightBarButtonItems = toolbarButtons;
----現實----
// 判斷_addControl是否存在
if (![toolbarButtons containsObject:_addControl]) {
//現實,實則add進來
[toolbarButtons addObject:_addControl];
self.navigationItem.rightBarButtonItems = toolbarButtons;
}