我的应用程序有一个由UINavigationController管理的UIViewController子类。
在我的UIViewController子类的viewDidLoad中,我尝试将UIBarButtonItem添加到工具栏,如下所示:
settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"Settings"
style:UIBarButtonItemStylePlain target:self action:@selector(viewSettings:)];
[self setToolbarItems:[NSArray arrayWithObject:settingsButton]];这对我来说是行不通的,所以在搜索了一番之后,我尝试了一下:
[[self navigationItem] setRightBarButtonItem:settingsButton];这一切都很顺利。通过阅读UIViewController documentation,我仍然对为什么setToolbarItems不能工作感到困惑。我在调试器中验证了按钮位于viewDidAppear方法的toolbarItems数组中。按钮本身就是没有出现在我的工具栏上。
所以,我的问题是,为什么在第一个代码片段中setToolbarItems不能为我工作?
我根本没有在我的xib中为这个视图控制器配置工具栏,如果这有区别的话。
发布于 2010-12-28 12:11:49
是的,这使得你可以在默认情况下看到基于导航的应用程序的difference.Whenever栏,实际上这不是一个toolBar,也就是说,导航bar.so你可以通过引用self.navigationItem添加项目。
发布于 2014-02-17 12:32:11
与导航控制器关联的自定义工具栏。(只读)
@ property (非原子,只读) UIToolbar *工具栏讨论此属性包含对导航控制器管理的内置工具栏的引用。对此工具栏的访问仅供想要显示工具栏中的操作表的客户端使用。不应直接修改UIToolbar对象。
此工具栏内容的管理是通过与此导航控制器关联的自定义视图控制器来完成的。对于导航堆栈上的每个视图控制器,可以使用UIViewController的setToolbarItems:animated:方法分配一组自定义工具栏项。
此工具栏的可见性由toolbarHidden属性控制。工具栏还遵循当前可见视图控制器的hidesBottomBarWhenPushed属性,并根据需要自动隐藏和显示自身。
发布于 2010-12-28 12:09:20
试着使用
[toolbar setItems:[NSArray arrayWithObject:settingsButton] animated:YES];安装:
[self setToolbarItems:[NSArray arrayWithObject:settingsButton]];沙尼
https://stackoverflow.com/questions/4543516
复制相似问题