【发布时间】:2013-03-06 02:31:34
【问题描述】:
我正在展示一个带有 Modal Segue 的 UIViewController。 这个 UIViewController 继承了一个 UINavigationBar,我在导航栏的左侧设置了一个 UIBarButtonItem:
我的问题是,当调用呈现的 UIViewController 的 viewWillAppear 方法时,我试图隐藏 UIBarButtonItem,但 UIBarButtonItem 总是出现。 我为 UIViewController 声明了一个 UIBarButtonItem,名为 myCancelButton,并在 Interface Builder 中引用了它。
这是我迄今为止尝试过的(所有这些都不起作用):
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationItem.leftBarButtonItem = nil;
self.navigationItem.backBarButtonItem = nil;
self.myCancelButton = nil;
NSMutableArray *barButtonItems = [self.navigationItem.leftBarButtonItems mutableCopy];
[barButtonItems removeObject:self.myCancelButton];
self.navigationItem.leftBarButtonItems = barButtonItems;
[self.navigationItem.leftBarButtonItems delete:self.myCancelButton];
self.navigationController.navigationItem.leftBarButtonItem = nil;
barButtonItems = [self.navigationController.navigationItem.leftBarButtonItems mutableCopy];
[barButtonItems removeObject:self.myCancelButton];
self.navigationController.navigationItem.leftBarButtonItems = barButtonItems;
[self.navigationController.navigationItem.leftBarButtonItems delete:self.myCancelButton];
[self.myCancelButton setWidth:0.01];
self.navigationItem.hidesBackButton = TRUE;
//Even setting enabled to false doesn't work:
[self.myCancelButton setEnabled:FALSE];
}
【问题讨论】:
标签: ios objective-c xcode uinavigationbar uibarbuttonitem