如何隐藏在iphone中从UIBarButtonItem创建的特定按钮?

时间:2010-04-16 08:49:43

标签: iphone objective-c

如何隐藏从iphone中的UIBarButtonItem创建的特定按钮?

4 个答案:

答案 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];