在尝试进行编辑按钮添加与操作的时候,发现了以下情况:
下面两段代码:
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.leftBarButtonItem = editButtonItem
以及
//编辑模式
func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
tableView.setEditing(editing, animated: true)
}
以上代码是不是swift4的写法?
感觉实现了以上代码,之前看的以下代码也许也可以实现,但是在模拟器中就不起作用了。
@IBAction func EditButton(_ sender: Any) {
WLTableView.isEditing = !WLTableView.isEditing
switch WLTableView.isEditing{
case true:
EditButton.title = "done"
case false:
EditButton.title = "edit"
}
这行代码直接可以实现编辑删除行(在有commitediting style
,canMoveRowAt
,moveRowAt
的前提下),
可是没有动画。
func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
return true
}
这行代码在之前试过可能是需要有这个回调才可以实现编辑行。
最后的两段是不是swift3里的实现功能的方式?
他们有什么区别?
看文档里都可以实现方法,也有详细说明。
根据添加按钮的方法有两种情况:
如果在代码里添加按钮:
如果在故事版里添加按钮:
需要设置Title:
点击编辑之后:
如果想要出现动画:
示例代码:
isEditing需要修改成setEditing