UITableView删除编辑动态加载控制Toolbar中的元素技巧
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 updateToolbar(false) 4 }
添加元素
func updateToolbar(animated: Bool) { let enditItem = self.editButtonItem() let spaceBarItem = UIBarButtonItem(barButtonSystemItem:.FlexibleSpace, target: nil, action: nil) let folderItem = UIBarButtonItem(title: "新規フォルダ", style: .Plain, target: self, action: "addFolderAction:") doneButton?.enabled = !editing if editing { setToolbarItems([folderItem, spaceBarItem, enditItem], animated:animated) } else { setToolbarItems([spaceBarItem, enditItem], animated: animated) } }
获取编辑状态事件
override func setEditing(editing: Bool, animated: Bool) { super.setEditing(editing, animated: animated) tableView.setEditing(editing, animated: animated) updateToolbar(animated) }
总结:
在tableView滑动删除,编辑,或者使用系统的editButtonItem来进行操作的时候,动态添加删除toolbar中的元素有的时候是不可避免的。在设置的过程中很容易出现设置上或者是逻辑上的错误,将toolbar装载的方法独立出来,在需要更新的时候,对toolbar自身进行重新转载元素和布局,这样可以让逻辑更加清晰,而且对以后更好拓展。