可能吗?导航栏左侧的1个以上按钮
我有一个UINavigationBar
,我希望在'后退'按钮旁边有'编辑'按钮。从我读过的东西你只能有一个或另一个,这是没有意义的,因为它们是navigationItem
对象(backBarButtonItem和leftBarButtonItem)的独立属性。
我假设你必须以某种方式在UINavigationBar
中插入自定义UIView
。我正在研究这个选项,如果没有给出更好的解决方案,那么我将概述这种方法。
可能吗?导航栏左侧的1个以上按钮
我有一个UINavigationBar
,我希望在'后退'按钮旁边有'编辑'按钮。从我读过的东西你只能有一个或另一个,这是没有意义的,因为它们是navigationItem
对象(backBarButtonItem和leftBarButtonItem)的独立属性。
我假设你必须以某种方式在UINavigationBar
中插入自定义UIView
。我正在研究这个选项,如果没有给出更好的解决方案,那么我将概述这种方法。
简短的回答是:
是的,你有你自己的UIButton的观点(或其他UIControl子类)添加到导航控制器,你自己。因此,忽略自定义* ButtonItem属性并自行滚动。
一个涉及多一点的回答是:
苹果使得它很容易按照自己的准则HIG,但你是你自己,如果你想打破他们或自定义。在这种情况下,只允许使用一个按钮,因为实际点击区域大于显示按钮的大小 - 从可用性的角度来看,更容易点击。
多余:
顺便说一句,有左/ rightBarButtonItem和backBarButtonItem之间的微妙区别。左/右在当前UIViewController上指定。然而,后退由前面的UIViewController指定。
使用自定义视图确实是您唯一的选择。 UINavigationBar不是非常灵活。你需要做的是创建一个包含UIButtons的UIView。确保你意识到如果你使用自定义视图,你会获得backBarButtonItem自动行为的无;你必须创建你自己的IBActions,以及按钮的图形。
在相关说明上,我不确定这是否是最好的主意。坚持Apple的UI准则通常是明智的;没有其他地方可以放置编辑按钮吗?例如,酒吧的右侧?
问题是2按钮,编辑和导入。它们都会影响所选的当前项目。我将不得不考虑其他导入选项。 – Brenden 2009-07-28 15:44:40
@ Kelvin的答案适用于iOS 5之前的版本,如果您使用的是iOS 5+,则现在有leftBarButtonItems
数组属性。请注意,您还必须将leftItemsSupplementBackButton
设置为true。
如果我理解正确,点击框大于按钮是有意义的,但是分割按钮等等呢?苹果明确允许在他们的UIG。 – Brenden 2009-07-28 15:45:24