我有一个使用嵌入在导航视图控制器中的UIViewControllers的项目,因此每当我进入我的tableviews的任何细节时,都会自动为我设置后退按钮。
现在我想在后退按钮旁添加一个“编辑”按钮。我已经在右侧放置了取消分配按钮,因为“#34; Unassign"很长,我宁愿适合左侧后退按钮旁边的编辑按钮。
我知道我可以通过navigationItem.leftBarButtonItem = editButton
以编程方式添加条形按钮,但会覆盖后退按钮。
我还尝试将editButton附加到navigationItem.leftBarButtonItems
数组,但这也不起作用(因为leftBarButtonItems数组首先没有设置)。
我的下一个方法是找到后退按钮并手动将其添加到leftBarButtonItems数组,所以我尝试使用navigationItem.leftBarButtonItems = [self.navigationItem.backBarButtonItem!, editButton]
,但这只在editButton和左侧之间添加了一个空格。没有后退按钮。
如何在保持后退按钮不变的情况下添加左栏按钮?有没有比使用self.navigationController?.popViewControllerAnimated(true)
手动编写新的后退按钮并将其添加到leftBarButtonItems数组更优雅的方法?
答案 0 :(得分:6)
默认情况下,leftItemsSupplementBackButton
属性为false
。在这种情况下,
未绘制后退按钮,左侧项目或项目将替换它。如果你
希望除了后退按钮(而不是后退按钮)之外还显示左侧项目,将leftItemsSupplementBackButton
设置为true
。
@property(nonatomic) BOOL leftItemsSupplementBackButton
你可以使用这样的东西
navigationItem.leftBarButtonItem = editButton
//or
navigationItem.leftBarButtonItems = [editButton]
self.navigationItem.leftItemsSupplementBackButton = true
答案 1 :(得分:0)
这两行可以解决问题。将leftItemSupplementBackButton
设置为true,然后添加leftBarButtonsItems
。
self.navigationItem.leftItemsSupplementBackButton = true
self.navigationItem.leftBarButtonItems = [barButton]