2015-10-25 57 views
2

我有一個UITableViewController,此時用戶可以在單元格上向左滑動以顯示「添加到收藏夾」按鈕。我現在想給單元格添加一個圖標,用戶可以點擊該圖標來顯示該按鈕(與向左滑動相同)。這隻會作爲一種視覺幫助,不知道向左滑動的用戶會做同樣的事情。如何在TAP上編輯tableview單元而不是滑動 - Swift

對於我TableView,我使用下面的代碼爲「關閉單元」,當用戶按下了按鈕:

itemsTableView.setEditing(false, animated: true) 

從這個我認爲手動打開電池我會簡單地調用:

//Get cell 
let cell:TableViewCell = itemsTableView.cellForRowAtIndexPath(NSIndexPath(forRow: 
sender.tag, inSection: 0)) as! TableViewCell 

//Open cell to reveal button 
cell.setEditing(true, animated: true) 

不幸的是,這是行不通的。所以我想知道當用戶滑動到單元格左側時調用的函數是什麼,以及當用戶點擊圖標時如何複製它。

+0

「當用戶滑動到單元格左側時調用的函數是什麼,以及當用戶點擊圖標時如何複製它」您告訴我們這一點。你說用戶可以向左滑動。你以某種方式實現了。那麼,怎麼樣? – matt

+0

@matt我什麼都不叫。當我實現'tableView(tableView:UITableView,editActionsForRowAtIndexPath indexPath:NSIndexPath)'來設置我的自定義動作時,這將激活'滑動編輯'功能。這就是我所做的一切。我期待任何想要在這個問題上添加輸入的人都已經知道......如果只是簡單地稱爲「當用戶滑動時調用的函數」,我會不會問這個問題? –

+0

不要小覷。還有很多其他的方法可以做到這一點;我需要知道你正在使用'editActions ...'。現在你已經回答了。這是難題的一部分。 – matt

回答

3

我不認爲你會做到這一點,對不起。該功能依賴於UITableView的平移手勢識別器。當用戶橫向擺動時,表格視圖將檢查editActions...委託方法,如果我們有編輯操作,則在單元格後面插入一個私人確認視圖,並允許移動單元以顯示它。據我所知,您無法以編程方式觸發該行爲。

這將成爲堅持使用第三方可滾動單元類的原因之一 - 許多非常好的理由之一。這樣,單元格就是一個水平滾動視圖,您只需在代碼中滾動即可。

+0

啊,這是一個恥辱。難怪我找不到辦法做到這一點!謝謝一堆! –

+0

我使用View Debugger和LLDB進行了一系列探索,試圖找出這個特性的工作原理,這就是我所想到的。如果在這裏有一個滾動視圖,我們可以嘗試在代碼中滾動它,但是沒有一個(至少,在任何時候都是靜止的時候)。 – matt

+0

非常感謝您的幫助,非常感謝! –

相關問題