动态编辑删除Toolbar中的元素

来源:互联网 发布:后台解析json字符串 编辑:程序博客网 时间:2024/05/16 17:46

在做项目的时候,我们有的时候需要动态的去删除,添加toolbar上的元素,例如点击按钮之后出现编辑之类的操作。有很多实现方法,例如声明一个成员变量来判断现在这个时候是不是编辑状态。
这次要写的是在调用func setEditing(editing: Bool, animated: Bool)这个方法的时候,对toolbar进行编辑删除等操作,看了代码可能就会明白一些。
【PS:国外公司大部分都开始采用swift作为开发语言,之前的项目都在重构。这点也是我们应该学习的地方,毕竟要跟随苹果公司的发展方向去走嘛。不能拒绝新鲜事物,swift虽然很新但是它在短短的时间内已经可以胜任开发大型项目的能力,可见苹果公司对它的重视,通过用swift做开发,着实感觉到开发的速度效率确实比OC快很多。】

首先我们先为我们的Toolbar定义一个方法,这个方法是生成item的,并且通过判断现在是否在编辑状态,来决定items中的内容

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)    }}

在程序运行之后加载Toolbar

 override func viewDidLoad() {     super.viewDidLoad()     updateToolbar(false) }

然后调用这个方法,去更新Toolbar的结构。

override func setEditing(editing: Bool, animated: Bool) {    super.setEditing(editing, animated: animated)    tableView.setEditing(editing, animated: animated)    updateToolbar(animated)}
0 0
原创粉丝点击