如何隐藏导航栏中的uibarbutton项目

5
我正在后台线程上解压文件,并在主线程上调用HomeViewController。在此视图控制器中,我在UINavigationBar上有一个UIBarButtonItem。 如果我点击这个按钮,它会转到StoryViewController并在那里使用未压缩的数据。所以,即使解压过程尚未完成,我也想显示Home视图控制器,为此,在后台线程上开始解压缩时必须隐藏导航栏上的按钮,并在解压缩完成后再次显示导航栏上的按钮。 我正在调用homeViewController的方法来隐藏和显示.. 我需要在这些方法中写什么? 我的意思是如何隐藏和显示UINavigationBar上的uiBarButtonItem....?

如何在iPhone中向UINavigationBar添加条形按钮 - Parth Bhatt
请勿重复提出相同的问题并创建重复内容。 - Parth Bhatt
2个回答

18

一旦你创建了 UIBarButtonItem 并命名为 "myButton",你可以在你的视图控制器中使用以下代码将其添加/删除到导航控制器中:

if(show)
    self.navigationItem.leftBarButtonItem = myButton;
else
    self.navigationItem.leftBarButtonItem = nil;

我通过IB向导航栏添加了barbuttonitem,我是否应该以编程方式添加它? - rockey
在您的情况下,我看不出使用IB构建它的任何理由。您可以使用以下代码轻松地以编程方式完成:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:target: action:] - Romain
UIBarButtonItem *addButton1 = [[UIBarButtonItem alloc] initWithTitle:@"开始" style:UIBarButtonItemStylePlain target:self action:@selector(tourBtnClicked:)]; self.navigationItem.leftBarButtonItem = addButton1; 我在viewDidLoad方法中添加了这段代码,但是没有起作用,没有按钮被添加。我需要通过编程的方式添加导航栏吗? - rockey
只有当您的视图控制器在导航控制器中时,Self.navigationItem才能正常工作。 - Romain
这是解决方案:http://stackoverflow.com/questions/4216259/how-to-add-bar-button-to-uinavigationbar-in-iphone - rockey
如果您使用IB,可以将其设置为STRONG而不是WEAK以使其保留在内存中。这对我很有效 :) - MQoder


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接