在運行時創建不同的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