将UIBarButtonItem添加到navigationItem.titleView中?

8

我有一个带有导航栏的navigationController。我想让它有三个UIBarButtonItems,一个在左边,一个在中间,一个在右边。我已经成功添加了左边和右边的按钮,但是当使用navigationController时,如何添加一个在中间的按钮呢?因为我不能向navBar items属性添加一个项目数组。

我是否可以以titleView位置添加一个样式为UIBarButtonItem的UIButton?

1个回答

5
从苹果API中获取,基本上您可以创建一个自定义UIView,其中包含一个UIButton,并将其用作titleView(请注意,leftBarButtonItem会导致titleView被忽略并且不显示):(编辑说明:这是UINavigationItem的属性)
titleView 当此项为顶部项时,在导航栏中心显示的自定义视图。
@property(nonatomic, retain) UIView *titleView 讨论 如果此属性值为nil,则在此项为顶部项时,导航项的标题将显示在导航栏中心。如果您将此属性设置为自定义标题,则将显示该标题,而不是标题。如果leftBarButtonItem不为nil,则忽略此属性。
自定义视图可以包含按钮。在UIButton类中使用buttonWithType:方法以导航栏样式添加按钮到自定义视图中。自定义标题视图位于导航栏中心,可以调整大小以适应。

1
文档中关于 leftBarButtonItem 会导致 titleView 被忽略的注释很有趣。在我对 iOS 4.3 和 iOS 5.1 进行的测试中,我发现这是错误的。我已经将一个按钮添加为左侧项目,并将分段控件添加为标题,两者都可以愉快地显示。 - Adrian Schönig
1
@AdrianSchönig,关于您的评论:https://dev59.com/xmkw5IYBdhLWcg3wus_K - mon4goos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接