导航栏中间的UIBarButtonItem?

时间:2009-09-02 16:55:56

标签: iphone cocoa-touch uibutton uinavigationbar uinavigationitem

我在我的应用中创建了一个灵活的导航栏,可以在左侧,右侧和中间显示自定义按钮。到目前为止,我已经开始工作了:

  • 右/左/中 - 自定义图像和/或文本
  • 右/左 - 正常查看按钮,其中包含自定义图像
  • 右/左 - 正常查看按钮,其中包含自定义文字

通过“正常查看”我的意思是默认的UIBarButtonItemStyle-只是一个漂亮的闪亮按钮。

我的问题是,如何在导航栏的MIDDLE中实现相同的外观?我可以通过创建自定义UIButton来创建自定义/文本图像,在右侧/左侧我从中创建一个UIBarButtonItem,但在中间我只是添加UIButton视图作为导航栏的子视图。

我无法将UIBarButtonItem作为子视图添加到导航栏,而我创建的任何UIButton看起来都不像UIBarButtonItem。

我能想到的唯一解决方法是使用我从屏幕截图中窃取的可伸缩自定义图像。我宁愿避免这样做。我错过了什么吗?

***********更新************** 开源库Three20将允许您创建看起来像UIBarButtonItems的UIButton。然后,您可以将它们手动放置为子视图或设置标题视图,将它们添加到条形视图中。

2 个答案:

答案 0 :(得分:1)

在左侧和右侧放置一个灵活区域,它们将相互抵消,导致它们之间的任何内容居中

答案 1 :(得分:1)

我从未理解为什么他们没有使UIBarButtonItems派生自UIViews(甚至更好,UIButtons),所以他们可以在其他地方使用。

听起来你走在正确的轨道上,但需要更好的艺术品:-)你可以在Photoshop .PSD文件from here中获得大量的iPhone UI组件。它们具有预渲染的条形按钮,您可以将其用作标准UIButton图像的基础。如果你有Photoshop(或一个不错的绘图程序),你可以从中间拉伸按钮以适应你的尺寸,而不会让角落扭曲。只需添加标签即可,您应该好好去。