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

9 interface-builder ios

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

小智 16

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

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

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

  • 差不多4年后,我想做同样的事情,我的解决方法不再适用 (2认同)

hyp*_*asm 11

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

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

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

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

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