显示/隐藏位于UIToolbar中间的UIBarButtonItem

RLH*_*RLH 2 cocoa-touch uitoolbar uibarbuttonitem ios

我已经在StackOverflow上阅读了有关此主题的几个类似问题,但是没有一个问题适用于我的情况。

我的应用程序上有一个UIToolbar。工具栏的布局如下。

(Button #1) (Button #2) (Button #3) <--- Flex Controller ---> (Button #4)
Run Code Online (Sandbox Code Playgroud)

显示/隐藏Button #3UIBarButtonItem 的最有效方法是什么,因为它位于UIToolbar的中间?

跟进

我知道该setItems:Animated方法,但这似乎有问题,因为我所有的按钮都通过IB接线,并且它们具有关联的IBAction。

这是否意味着我因此需要找到一种方法来隐藏隐藏的#3按钮(因为我使用的是ARC?)。我正在寻找添加/删除这些对象的最佳/最有效方法。如果每次必须显示/隐藏#3按钮时都必须重新创建此列表,这就是我要做的。

看来效率如此之低。

Ash*_*row 5

在中UIToolBar.h,有以下方法:

- (void)setItems:(NSArray *)items animated:(BOOL)animated;   // will fade in or out or reorder and adjust spacing
Run Code Online (Sandbox Code Playgroud)

您应该能够执行以下操作:

NSMutableArray *items = [toolBar.items mutableCopy];
[items removeObjectAtIndex:2];
[toolBar setItems:items animated:YES];
Run Code Online (Sandbox Code Playgroud)

看看这是否符合您的需求