如何在代码中向UIToolBar添加UIBarButtonItem

10

我有一个标准的UIBarButtonItem

UIBarButtonItem *share = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(share:)];

如何将它添加到UIToolBar中? 我尝试了

    self.toolbarItems = [NSArray arrayWithObject:share];

但是它却不起作用。需要您的帮助。

4个回答

11

你能具体说明"它不起作用"的问题吗?

如果你正在尝试向已经存在项目的工具栏中添加一个新项目,那么你需要修改项目数组:

NSMutableArray *newItems = [self.toolbarItems mutableCopy];
[newItems addObject:share];
self.toolbarItems = newItems;

抱歉。这意味着工具栏没有任何按钮出现。现在请尝试解决问题。 - Tunyk Pavel
找到解决方案 [self setToolbarItems:[NSArray arrayWithObject:share]]; - Tunyk Pavel

9

请确保您已经将工具栏设置为IBOutlet或以编程方式添加了工具栏

IBOutlet UIToolbar *toolBar;

UIBarButtonItem *infoButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"info" style:UIBarButtonItemStyleBordered  target:self action:@selector(infoButtonClicked)];

toolBar.items = [NSArray arrayWithObjects:infoButtonItem, nil];

1

请确保工具栏未被隐藏;您可以尝试将以下内容添加到视图控制器的 viewWillAppear:animated: 方法中:

[self.navigationController setToolbarHidden:NO animated:YES];

0

[toolbar setItems:[NSArray arrayWithObject:share] animated:YES];

的意思是设置一个包含共享对象的数组作为工具栏的项,并且使用动画效果进行更新。


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