2014-12-04 40 views

回答

1

一個UItableViewCellUIView子類,所以你可以調用addSubview在每個單元的增加UIImage視圖,或者你可以創建自己的UITableViewCell類!

希望這會有所幫助!

+0

謝謝,但這些視圖(在圖像中的紅色圓圈內)不受我控制,它們在表視圖進入編輯模式時出現,無論它是系統樣式單元格還是自定義單元格。 – axl411 2014-12-05 02:21:50

+0

您不需要使用這些視圖,您可以創建自己的自定義單元格並添加任何您喜歡的內容。 – shim 2014-12-05 03:05:04

+0

我明白你的意思了。這就是我得到解決方案的方式 - 使用單元格中的自定義視圖並通過更改自動佈局約束來移動它們,表視圖不需要進入編輯模式。乾杯。 – axl411 2014-12-05 03:40:19

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中做一些邏輯來管理選擇。