在尝试创建自定义* UIToolbar时,它是否更好 - 在不被Apple商店拒绝的意义上更好:
选项A
self.navigationController.view
这是关键,因为我正在向navigationController添加UIButton,这似乎与苹果文档相矛盾 选项B
*自定义背景,超大中间按钮
这是工具栏的形状:
额外细节:此应用适用于iOS 5.X或更高版本。它使用UINavigationController。关键的挑战是应用程序的一部分隐藏/显示导航栏,具体取决于应用程序的状态。
选项A意味着我不需要在UIToolBar的位置进行锻炼,因为a)如果我显示或隐藏了navigationBar,这会将所有内容垂直向上/向下移动,这对于确定UIToolbar的位置是一个挑战。 iPhone 5具有额外的垂直空间 - 我不能使用autolayout,因为我支持iOS 5,我还没有真正弄清楚如何使用自动调整掩码。我使用硬编码的“魔法”数字。
答案 0 :(得分:3)
我不会做其中任何一种。
当你想要做它做的事情时,UIToolbar很不错,它确实允许一些基本的自定义。但在这种情况下,您需要一个类似于工具栏的视图,它以UIToolbar似乎不允许的方式绘制自己。您可能确切地知道要在"工具栏"中显示哪些项目,并且您不太可能需要处理任意分类的UIBarItem。
因此,不要试图强迫UIToolbar做一些从未设计过的事情,而只是创建一个包含背景图像的简单视图(其中一部分将是透明的)。在视图中放置一些基于图像的UIButton,并将其称为一天。创建一个代表工具栏的自定义UIView子类并不是一个坏主意,这样所有的设置都可以很好地打包在一个地方,这样你就可以在多个视图中重用工具栏了。如果需要的话。 p>