鍍金池/ 問答/人工智能  iOS  網(wǎng)絡(luò)安全/ 關(guān)于TableView的編輯按鈕的寫法的方式

關(guān)于TableView的編輯按鈕的寫法的方式

在嘗試進(jìn)行編輯按鈕添加與操作的時候,發(fā)現(xiàn)了以下情況:

下面兩段代碼:

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的寫法?

感覺實現(xiàn)了以上代碼,之前看的以下代碼也許也可以實現(xiàn),但是在模擬器中就不起作用了。

@IBAction func EditButton(_ sender: Any) {
        
            WLTableView.isEditing = !WLTableView.isEditing
            switch WLTableView.isEditing{
            case true:
                EditButton.title = "done"
            case false:
                EditButton.title = "edit"
                
            }

這行代碼直接可以實現(xiàn)編輯刪除行(在有commitediting style,canMoveRowAt,moveRowAt的前提下),
可是沒有動畫。

 func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
     return true
     }

這行代碼在之前試過可能是需要有這個回調(diào)才可以實現(xiàn)編輯行。

最后的兩段是不是swift3里的實現(xiàn)功能的方式?
他們有什么區(qū)別?
看文檔里都可以實現(xiàn)方法,也有詳細(xì)說明。

回答
編輯回答
司令

根據(jù)添加按鈕的方法有兩種情況:

如果在代碼里添加按鈕:

 navigationItem.leftBarButtonItem = editButtonItem

如果在故事版里添加按鈕:

需要設(shè)置Title:

請輸入代碼

點擊編輯之后:
如果想要出現(xiàn)動畫:
示例代碼:

TableView.isEditing = !TableView.isEditing
switch TableView.isEditing{
        case true:
            EditButton.title = "done"
        case false:
            EditButton.title = "edit"

        }

isEditing需要修改成setEditing

2017年11月20日 22:17