我想在导航控制器上按下这个新表格视图后,将表格视图的编辑按钮添加到导航控制器的导航栏。当我这样做时,编辑按钮不会出现(我怀疑“后退”按钮会遮挡它),当我回到层次结构时,它就是,但现在我有两个(编辑编辑)。我的源代码:
items.navigationItem.rightBarButtonItem = items.editButtonItem()
修改
如果我注释掉上面的最后一行,并在推送之前插入以下行,则编辑按钮会出现在左侧,但现在没有后退按钮:
var items = navigationItem.rightBarButtonItems
if items == nil {
items = [UIBarButtonItem]()
}
items! += [ editButtonItem() ]
navigationItem.rightBarButtonItems = items
解
我在ItemsController()的viewDidLoad()中使用的解决方案:
{{1}}
答案 0 :(得分:1)
UINavigationItem
的左右栏按钮都可以表示为单个barButtonItem
或barButtonItems
数组。您需要访问并设置后者(添加按钮而不是仅替换Back
按钮)。要在同一个viewController中执行此操作,请使用以下代码:
if var leftBarButtonItems = self.navigationItem.leftBarButtonItems{
leftBarButtonItems.append(self.editButtonItem())
self.navigationItem.leftBarButtonItems = leftBarButtonItems
}
但是,如果可能的话,我会使用上面的代码将Edit
按钮放在右侧,因为这就是预期的位置。