【问题标题】:Add UIBarButtonItem to navigationItem.titleView?将 UIBarButtonItem 添加到 navigationItem.titleView?
【发布时间】:2011-06-18 22:04:50
【问题描述】:

我有一个带有导航栏的 navigationController。我真的很想有 3 个 UIBarButtonItems,一个在左边,一个在中间,一个在右边。我可以添加左侧和右侧,但是如何在中间添加一个,因为使用导航控制器时,我无法将一组项目添加到 navBar items 属性?

我能否以某种方式在 titleView 位置添加一个 UIButton,其样式类似于 UIBarButtonItem?

【问题讨论】:

    标签: iphone ios uitableview uinavigationcontroller uibarbuttonitem


    【解决方案1】:

    取自苹果 api,基本上你可以创建一个自定义 UIView,其中有一个 UIButton 并将其用作你的 titleView(注意关于 leftBarButtonItem 的注释会导致 titleView 被忽略且不显示):(编辑注释:this是UINavigationItem的属性)

    标题视图 当此项为顶部项时,在导航栏中心显示的自定义视图。

    @property(nonatomic, 保留) UIView *titleView 讨论 如果此属性值为 nil,则当该项为顶部项时,导航项的标题显示在导航栏的中心。如果将此属性设置为自定义标题,则会显示它而不是标题。如果 leftBarButtonItem 不为零,则忽略此属性。

    自定义视图可以包含按钮。使用 UIButton 类中的 buttonWithType: 方法以导航栏的样式将按钮添加到自定义视图。自定义标题视图以导航栏为中心,并且可以调整大小以适应。

    【讨论】:

    • 文档中leftBarButtonItem 导致titleView 被忽略的注释很有趣。在我对 iOS 4.3 和 iOS 5.1 的测试中,我发现这是 false。我添加了一个按钮作为左侧项目,并添加了一个分段控件作为标题,并且都愉快地显示出来了。
    • @AdrianSchönig,与您的评论相关:stackoverflow.com/q/9690409/280789
    猜你喜欢
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 2015-12-01
    相关资源
    最近更新 更多