Swift 關於tableView的多選和刪除

2021-07-27 05:54:18 字數 2145 閱讀 3194

建立表

tableview在沒有實現datasource的三個方法是 tableview.datasource = self; 會報錯

//關於tableview的多選操作

**func tableview(_ tableview: uitableview, editingstyleforrowat indexpath: indexpath) -> uitableviewcelleditingstyle **

**//多選選中是的方法

func tableview(_ tableview: uitableview, didselectrowat indexpath: indexpath)

//多選取消選中執行的方法

func tableview(_ tableview: uitableview, diddeselectrowat indexpath: indexpath) **

關於tableview的右滑刪除刪除的操作

在tableview delegate 的editingstyleforrowatindexpath 方法中返回

uitableviewcelleditingstyle.delete即可執行多選操作(刪除操作有乙個必須執行的方法,不執行 刪除也不起作用)

刪除必須執行的方法

func tableview(_ tableview: uitableview, commit editingstyle: uitableviewcelleditingstyle, forrowat indexpath: indexpath)

如果上面的方法沒有執行 側滑刪除無效

在下面的方法中 返回值可以修改刪除按鈕的文字

func tableview(_ tableview: uitableview, titlefordeleteconfirmationbuttonforrowat indexpath: indexpath) -> string?

//tableview 側滑多個按鈕

func tableview(_ tableview: uitableview, editactionsforrowat indexpath: indexpath) -> [uitableviewrowaction]? );

action1.backgroundcolor = uicolor.blue;

action2 = uitableviewrowaction.init(style: uitableviewrowactionstyle.default, title:」刪除」, handler: );

action2.backgroundcolor = uicolor.yellow;

action3 = uitableviewrowaction.init(style: uitableviewrowactionstyle.default, title:」隱藏」, handler: );

autolayout 計算tableView的高度

在ios7以後,出現了自動計算高度的方法。systemlayoutsizefittingsize。但是這個得到的是contentview的高度,所以cell的高度還要再 1.在計算出高度之後,可以儲存在陣列中,或者在這個cell中有關cgfloat屬性,來儲存當前的cell的model所佔cell的...

翻譯 Swift程式語言 關於Swift

swift是一門用於ios和os x應用開發的新的程式語言,它以c和objective c語言為基礎,但沒有c語言的相容性約束。swift採用了安全的程式設計模式並且新增了能夠讓程式設計更加簡單 靈活和富有樂趣的現代化特性。swift是白紙一張,再加上有成熟而且深受喜愛的cocoa和cocoatou...

TableVie優化方法和優化機制

1,uitableview的優化方法 快取高度,非同步繪製,減少層級,hide,避免離屏渲染 1 快取高度 當我們建立frame模型的時候,計算出來cell的高度的時候,我們可以將cell的高度快取到字典裡面,以cell的indexpath和identifier作為為key。非同步繪製 在cell上...