在运行时创建不同的UIBarButtonItems数组并在UIToolbar中添加/删除UBSoolbar可能会增加执行的复杂度。
我已经使用不同的方法做到了。以下是实现它的片段。
第1步:创建一个IBOutlet或创建UIToolbar实例。
UIToolbar *toolBar = [UIToolbar alloc] init];
,如果你想设置所需的样式。
第2步:创建UIButton类型实例。
UIButton *button1, *button2;
第3步:将图像(如果需要)分配给按钮。
button1 = [UIButton alloc] initWithFrame:CGRectMake(0.f,0.f,30.f,30.f);
[button1 setBackgroundImage:[UIImage imageNamed:@"image1.png"] forState:UIControlStateNormal];
button2 = [UIButton alloc] initWithFrame:CGRectMake(0.f,0.f,30.f,30.f);
[button2 setBackgroundImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateNormal];
第4步:使用上述按钮创建UIBarButtonItem实例作为自定义视图。
UIBarButtonItem *toolbarbuttonItem1 = [UIBarButtonItem alloc] initWithCustomView:button1];
UIBarButtonItem *toolbarbuttonItem2 = [UIBarButtonItem alloc] initWithCustomView:button1];
第5步:将条形按钮项目分配给工具栏。
toolBar.items = [NSArray arrayWithObjects:toolbarbuttonItem1,toolbarbuttonItem2,nil];
第6步:将工具栏添加到视图。
第7步:在VIEW中创建一个UIButton IBOutlet并分配一个单击事件。
在click事件中调用以下帮助方法以切换隐藏。
- (void) toggleToolbarButtons {
button1.hidden = !button1.hidden;
button2.hidden = !button2.hidden;
}
希望帮助!!
可能你已经尝试过了,但是不能只使用按钮的'hidden'属性吗? – Novarg 2012-03-06 16:38:51
@Novarg:该属性在UIBarButtonItem上不可用,因为它不是从UIButton继承的。 – RLH 2012-03-06 16:41:01
将按钮连接为IBOutlets,然后在调整工具栏的项目时可以参考它们。我已经写了一个答案,描述了我在使用这种方法简化问题时使用的方法。 – Chad 2012-03-06 16:59:48