如何隐藏从iphone中的UIBarButtonItem创建的特定按钮?
答案 0 :(得分:1)
我在测试时收到了来自XCode的setHidden和setAlpha调用的警告,并且确实在执行时它们都与无法识别的选择器错误一起崩溃。
我发现显示/隐藏UIBarButtonItems(via Harry Webster)的最佳答案如下:
//hiding the button
self.UIBarButton.title = @"";
[self.UIBarButton setStyle: UIBarButtonItemStylePlain];
[self.UIBarButton setEnabled:false];
//showing the button
self.UIBarButton.title = @"Button Caption";
[self.UIBarButton setStyle: UIBarButtonItemStyleBordered];
[self.UIBarButton setEnabled:TRUE];
希望这有一些用处。
答案 1 :(得分:0)
这似乎对我来说效果最好,并且不像先前的回答那样留下任何空白空间:
NSArray *tbi = [[NSArray alloc] initWithObjects:ArchiveBtn,MoveBtn,DeleteBtn, nil];
self.toolbarItems = tbi;
基本上只需将toolbarItems设置为您想要的任何内容。我在IB的视图上有6个按钮,所有按钮都设置了IBOutlets,然后我只为任何给定时间想要显示的按钮构建不同的数组,并将self.toolbarItems设置为该数组。也适用于更改按钮的顺序。
答案 2 :(得分:0)
所有UIBarButtonItem的数组都存储在UIToolbar的item
属性中。
为了删除某些内容,只需重新设置此属性:
// assuming you have
// @property (nonatomic, strong) IBOutlet UIToolbar* toolbar;
// and buttons Btn1, Btn2, Btn3 connected to appropriate properties in outlet
[toolbar setItems:[[NSArray alloc] initWithObjects:Btn1, Btn3, nil]];
答案 3 :(得分:-4)
[myUIBarButtonItem setHidden:YES];
或
[myUIBarButtonItem setAlpha:0.0];