【发布时间】:2016-03-12 02:28:03
【问题描述】:
在导航控制器上推送此新表视图后,我想将表视图的编辑按钮添加到导航控制器的导航栏。当我这样做时,编辑按钮不会出现(我怀疑“后退”按钮会掩盖它),当我返回层次结构时,它就在那里,但现在我有两个(编辑编辑)。我的源代码:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let items:UITableViewController = ItemsController()
myNavigationController.pushViewController(items, animated:true)
myNavigationController.navigationBar.topItem!.leftBarButtonItems! += [ items.editButtonItem() ]
}
编辑
如果我注释掉上面的最后一行,并在 push 之前插入以下行,编辑按钮出现在左侧,但现在没有返回按钮:
items.navigationItem.rightBarButtonItem = items.editButtonItem()
解决方案
我在 ItemsController() 的 viewDidLoad() 中使用的解决方案:
var items = navigationItem.rightBarButtonItems
if items == nil {
items = [UIBarButtonItem]()
}
items! += [ editButtonItem() ]
navigationItem.rightBarButtonItems = items
【问题讨论】:
标签: swift uitableview uinavigationcontroller uikit