2013-03-06 45 views
3

我正在用模态塞格展示UIViewController。 这UIViewController中继承了一个UINavigationBar的,我已经设置的UIBarButtonItem左侧导航栏:隐藏或禁用UINavigationBar中的UIBarButtonItem

HELP ME!!!

我的问题是,当呈现的UIViewController的viewWillAppear中调用方法,我想隐藏UIBarButtonItem,但总是出现UIBarButtonItem。 我已经为UIViewController声明了一个名为myCancelButton的UIBarButtonItem,并且我在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]; 
} 

回答

1

这应该工作。

[self.navigationItem setHidesBackButton:YES animated:YES]; 
+0

,这是行不通的。 我已经跑出了想法。 – w3bshark 2013-03-06 12:57:11

0

尝试不幸的是使用一个

self.navigationController.navigationItem.leftBarButtonItem = nil; 
[self.navigationController.navigationItem setHidesBackButton:YES]; 
+0

我已经在我原来的帖子中试过这些: self.navigationController.navigationItem.leftBarButtonItem = nil; self.navigationItem.hidesBackButton = TRUE; – w3bshark 2013-03-06 12:59:40

+0

只是等我很忙。如果我会自由阅读,那么我会阅读这篇文章。 – 2013-03-06 13:03:43

+0

您有没有机会找到解决方案? – w3bshark 2013-03-08 15:04:07