1

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

  • 右/左/中 - 自定义图像和/或文本
  • 左/右 - 普通寻找按钮,自定义图像在它
  • 左/右 - 正常找按钮与自定义文本在它

'正常看'我的意思是默认的UIBarButtonItemStyle-只是一个不错的闪亮的按钮。

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

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

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

*********** UPDATE ************** 的开源库Three20将允许你创建UIButtons看起来像UIBarButtonItems。然后,您可以将它们手动添加到小节视图中作为子视图或设置标题视图。

回答

1

我永远无法理解为什么他们没有做UIBarButtonItems从UIViews派生为中心(或者甚至更好,UIButtons)所以他们可以在别处使用。

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

+0

谢谢。顺便说一下,您可以通过编程方式从中间拉伸图像(搜索stretchImage)。我也觉得UIBarButtonItem不能从UIButton继承是很奇怪的。 – Sam 2009-09-03 08:11:45

+0

您也可以使用[此GitHub项目](https://github.com/0xced/UIKit-Artwork-Extractor)从UIKit和其他框架中提取所有图像,包括可拉伸按钮/文本框和其他所有内容 – kervich 2012-12-17 11:40:22

1

放在左边的一个柔性区域,右,他们会相互抵消造成的任何两者之间