我從here瞭解到如何啓用表格視圖多選。但我如何定製這個?如何使用我自己的替換這些默認視圖,如下圖所示?自定義表格視圖多選勾選
0
A
回答
1
一個UItableViewCell
是UIView
子類,所以你可以調用addSubview
在每個單元的增加UIImage
視圖,或者你可以創建自己的UITableViewCell類!
希望這會有所幫助!
0
我發現我自己的解決方案:更改auto layout constraints
。
我的表格視圖單元格是一個自定義單元格,其中我需要將所有視圖向右移動以顯示選擇指示器,所以最初我在自定義視圖後面放置了一個自定義指示器,然後在我的自定義單元格子類更新我的視圖的約束,以揭示下面的指示器。
他們看起來像這樣:
// in the cell subclass
- (void)showSelectionIndicator {
self.imageViewLeadingConstraint.constant = 50.f;
}
- (void)hideSelectionIndicator {
self.imageViewLeadingConstraint.constant = 15.f;
}
的imageViewLeadingConstraint
很簡單,就是決定我的單元格中所有視圖的位置領先約束。
然後,在視圖控制器中,我自己管理選擇狀態和選定的indexPaths。在cellForRowAtIndexPath
方法,我會還設置這樣的細胞:
// ... normal cell set up
if (self.isSelectingDownloads) {
[cell showSelectionIndicator];
} else {
[cell hideSelectionIndicator];
}
// return cell
我也有選擇的切換狀態的方法:
- (void)toggleDownloading {
self.isSelectingDownloads = !self.isSelectingDownloads;
[self.tableView reloadData];
}
這使得它所有的工作。通過調用toggleDownloading
,單元格中的視圖按預期向右移動。當然,我還需要在didSelectRowAtIndexPath
中做一些邏輯來管理選擇。
謝謝,但這些視圖(在圖像中的紅色圓圈內)不受我控制,它們在表視圖進入編輯模式時出現,無論它是系統樣式單元格還是自定義單元格。 – axl411 2014-12-05 02:21:50
您不需要使用這些視圖,您可以創建自己的自定義單元格並添加任何您喜歡的內容。 – shim 2014-12-05 03:05:04
我明白你的意思了。這就是我得到解決方案的方式 - 使用單元格中的自定義視圖並通過更改自動佈局約束來移動它們,表視圖不需要進入編輯模式。乾杯。 – axl411 2014-12-05 03:40:19