【发布时间】:2016-05-03 11:28:13
【问题描述】:
我知道如何使用 initWithCustomView 在代码中创建和添加带有自定义视图的 UIBarButtonItem。但我更喜欢尽可能在 Interface Builder 中做这样的事情。我似乎找不到任何方法来创建自定义 UIBarButtonItem 并设置自定义视图。
【问题讨论】:
标签: ios interface-builder
我知道如何使用 initWithCustomView 在代码中创建和添加带有自定义视图的 UIBarButtonItem。但我更喜欢尽可能在 Interface Builder 中做这样的事情。我似乎找不到任何方法来创建自定义 UIBarButtonItem 并设置自定义视图。
【问题讨论】:
标签: ios interface-builder
好的,我终于想通了。
如果您将视图拖到 NavigationItem 上,它将创建一个使用该自定义视图初始化的 UIBarButtonItem,并将其链接到右侧栏按钮。或者,您可以将视图拖到导航项内的条形按钮项上。它不适用于不在导航项内的条形按钮项。
要创建一个带有自定义视图的左栏项目,这有点棘手。导航项内的条形按钮项被硬编码为右侧项。我所做的是将另一个导航项临时添加到 xib 文件的顶层。然后将视图拖到导航项上,该导航项在此导航项内创建条形按钮项。将栏按钮项移出导航项(到 xib 的顶层)。然后我可以删除我添加的导航项,这样我就有了一个使用自定义视图初始化的独立栏按钮项。然后,您必须自己将真正导航项的 leftBarButtonItem 出口的链接添加到此条形按钮项。
【讨论】:
正如他在 cmets 中所说,user486646 的解决方案在 Xcode 6 中不再适用。经过一番折腾之后,我发现了这一点。
1) 将工具栏拖到您的视图控制器场景中。不是进入视图,而是进入场景,例如。在退出下。
2) 将您的自定义视图拖入工具栏(下方)。这将在工具栏中创建带有嵌入自定义视图的 UIBarButtonItem。
3) 现在将带有嵌入式自定义视图的 UIBarButtonItem 拖动到您真正想要的任何位置(例如,导航项或仅作为视图控制器的工具栏项之一)。
4) 删除步骤 1 中创建的工具栏。
【讨论】: