您可以在Interface Builder中使用自定义视图创建UIBarButtonItem吗?

时间:2010-10-25 16:10:44

标签: ios interface-builder

我知道如何使用initWithCustomView在代码中创建和添加带有自定义视图的UIBarButtonItem。但我喜欢在Interface Builder中做这样的事情。我似乎找不到任何方法来创建自定义UIBarButtonItem并设置自定义视图。

2 个答案:

答案 0 :(得分:16)

好的,我最终想出了怎么做。

如果将视图拖到NavigationItem上,NavigationItem将创建使用该自定义视图初始化的UIBarButtonItem,并将其链接到右侧栏按钮。或者,您可以将视图拖动到导航项目内的条形按钮项目。它不适用于不在导航项内的条形按钮项。

要使用自定义视图创建左栏项目,这有点棘手。导航项目内的条形按钮项目被硬编码为右侧项目。我所做的是临时将另一个导航项添加到xib文件的顶层。然后将视图拖动到导航项目上,该导航项目在此导航项目中创建栏按钮项目。将栏按钮项移出导航项(到xib的顶层)。然后我可以删除我添加的导航项,然后我有一个用自定义视图初始化的独立栏按钮项。然后,您必须自己将实际导航项的leftBarButtonItem出口的链接添加到此栏按钮项。

答案 1 :(得分:11)

正如他在评论中所说,user486646的解决方案不再适用于Xcode 6.稍微搞了一下这就是我想到的。

1)将工具栏拖到View Controller Scene中。不是进入视图,而是进入场景,例如。退出。

2)将自定义视图拖到工具栏的(下方)。这将在工具栏中创建带有嵌入式自定义视图的UIBarButtonItem。

3)现在将带有嵌入式自定义视图的UIBarButtonItem拖动到您真正想要的位置(例如导航项或仅作为View Controller的工具栏项之一)。

4)删除在步骤1中创建的工具栏。