1

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

  • 右/左/中 - 自定义图像和/或文本
  • 右/左 - 带有自定义图像的正常外观按钮
  • 右/左 - 带有自定义文本的正常外观按钮

“正常外观”是指默认的 UIBarButtonItemStyle - 只是一个漂亮的闪亮按钮。

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

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

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

*********** 更新 ************** 开源库 Three20 将允许您创建类似于 UIBarButtonItems 的 UIButtons。然后,您可以通过手动放置作为子视图或设置标题视图将它们添加到条形视图。

4

2 回答 2

1

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

于 2009-09-02T16:57:34.533 回答
1

我从来不明白他们为什么不让 UIBarButtonItems 派生自 UIViews(或者更好的是 UIButtons),这样它们就可以在其他地方使用。

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

于 2009-09-02T17:39:33.763 回答