应该如何创建UINavigation工具栏子视图项Interface Builder?

时间:2012-03-06 06:40:49

标签: ios cocoa-touch uinavigationcontroller interface-builder uitoolbar

This blog post问我的问题:如何在Interface Builder中直观地管理工具栏项?当然可以使用this technique作为顶级视图,但其他视图呢?有没有办法让我的设计合作伙伴能够直接在这样的视图中编辑工具栏项,而不会创建一个从未实际使用过的占位符UIToolbar?

1 个答案:

答案 0 :(得分:0)

我是这样做的。我将此属性添加到控制器@interface

@property (nonatomic, strong) IBOutletCollection(UIBarButtonItem) NSArray *toolbarItems;

@implementation中,我补充道:

@synthesize toolbarItems;

然后,在笔尖中,我拥有UIBarButtonItem中的所有UIToolbar个。在“对象”导航器中,我选择了所有这些,然后将它们移动到UIToolbar的 out ,这样他们就无法看到它们是其中的一部分。然后,对于每一个,我右键单击,并将“New Referencing Outlet Collection”旁边的圆拖到“File's Owner”,并在弹出的结果中选择toolbarItems。现在,所有UIBarButtonItem都神奇地出现在UIToolbar中,不再需要工作。

唉,这不太理想。现在UIBarButtonItems不在笔尖的UIToolbar中,它们是完全不可见的界面构建器。它们仍然在“对象”导航器中,但实际上看不到它们的样子。这似乎是一个不幸的错误(以rdar://11234043提交)。

另一个问题是,据我所知,无法查看IBOutletCollection中项目的顺序。我按照我希望它们显示的顺序添加它们,从右到左,但如果我需要更改顺序或在中间的某处添加新的顺序,它将是PITA。

希望Apple为界面构建器添加更好的IBOutletCollection支持,并使用某种可见的容器。