【问题标题】:Can you create a UIBarButtonItem with a Custom View in Interface Builder你可以在界面生成器中创建一个带有自定义视图的 UIBarButtonItem
【发布时间】:2016-05-03 11:28:13
【问题描述】:

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

【问题讨论】:

    标签: ios interface-builder


    【解决方案1】:

    好的,我终于想通了。

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

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

    【讨论】:

    • 将近 4 年后想做同样的事情,但我的解决方法不再有效
    • 找到其他解决方案了吗?
    • 感谢 Apple,这在 Xcode 6 上不再适用。如果它们可以复杂化,为什么还要简化?
    • 这在 Xcode 7.3 中对我有用。我将一个 UIButton 拖到一个导航项中,并将它包裹在一个 UIBarButtonItem 中,现在我将该 UIBarButtonItem 放置在我需要的位置(例如底部的 UIToolbar)
    【解决方案2】:

    正如他在 cmets 中所说,user486646 的解决方案在 Xcode 6 中不再适用。经过一番折腾之后,我发现了这一点。

    1) 将工具栏拖到您的视图控制器场景中。不是进入视图,而是进入场景,例如。在退出下。

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

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

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

    【讨论】:

    • 不幸的是,这不适用于 Xcode 7.2 :(
    • 这实际上在 Xcode 12.5 上对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多