将项目添加到导航工具栏

Don*_*son 4 iphone

我有一个导航工具栏,我在其中以编程方式添加工具栏项,如下所示.工具栏显示正确,工具栏样式设置为黑色不透明.但工具栏上的按钮不显示.为什么?

    //Set up the toolbar
 [[[self navigationController] toolbar] setBarStyle:UIBarStyleBlackOpaque]; 
 UIBarButtonItem *myButtonItem = 
 [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(handleMyButton)];
 NSArray *myItems = [NSArray arrayWithObjects: myButtonItem,nil];
 [[self navigationController] setToolbarItems:myItems animated:NO];
 [myButtonItem release];
Run Code Online (Sandbox Code Playgroud)

Rob*_*und 26

UINavigationController从当前可见视图控制器中获取应该用于导航栏和工具栏的按钮.这意味着您将要使用的按钮添加到视图控制器,而不是导航控制器.所以,如果你这样做,它应该工作得很好:

[self setToolbarItems:myItems animated:NO];
Run Code Online (Sandbox Code Playgroud)

将其与添加按钮添加到具有核心数据的基于导航的应用程序的默认模板中的导航栏的方式进行比较:

self.navigationItem.rightBarButtonItem = addButton;
Run Code Online (Sandbox Code Playgroud)

这意味着当您按下新视图控制器时,工具栏中的按钮将消失,然后在您弹回时再次出现.