2016-12-26 73 views
1

我想按照在單元格上從右向左滑動時看到的方式在UITableViewCell上顯示「刪除」按鈕。我需要在單元格內的另一個按鈕上點擊此按鈕。以編程方式顯示UITableViewCell上的刪除按鈕

我嘗試以下方法迄今爲止:

  1. 添加單元格內容視圖成滾動視圖,然後通過80分移位 細胞對抽頭放在桌上 視圖內的按鈕。 「刪除」按鈕也是滾動視圖的一部分,可以在屏幕外顯示。
  2. 將一個UIButton添加到UITableView單元格的末尾(最初隱藏着X開始右邊緣的框架)。然後將 單元格按80點向左點擊表格中的按鈕 查看。

儘管#1沒有顯示按鈕#2顯示它很好。但是我不能點擊按鈕,因爲它的超級視圖不符合框架。

任何想法如何去做呢?

這是我如何轉移我的手機內容(此方法在我的自定義單元格類):

- (void)showCellDeleteButton { 
    if (self.isDeleteMode) { 
     return; 
    } 

    self.cellDeleteButton.hidden = NO; 
    self.isDeleteMode = YES; 
    [self disableDeleteItemButton]; 

    [UIView animateWithDuration:0.3 animations:^{ 
     CGRect cellFrame = self.frame; 
     cellFrame.origin.x -= 80.0; 
     self.frame = cellFrame; 
    } completion:nil]; 
} 

這是我的刪除按鈕,#2:

enter image description here

+0

在你的show'showCellDeleteButton'中,你調用'[self disableDeleteItemButton];'。那是故意的嗎? – Rikh

+0

是的,這是故意禁用右側顯示刪除按鈕,使用戶無法再次點擊它的按鈕。 – Abhinav

+0

哦,我認爲該功能是爲紅色刪除按鈕!爲什麼不把所有的子視圖都放在一個'UIView'裏面,而這個'UIView'就是單元格的完整內容視圖,隱藏在它後面的是刪除按鈕。並移動**這個** UIView而不是整個單元格? – Rikh

回答

0

你也可以這樣做。 1.根據您的要求,在單元格的內容視圖中添加UIView,使用等寬度的單元格內容視圖和設計。 2.然後添加一個帶刪除設計的按鈕到單元格的內容視圖中,而不是其他視圖。 3.當您想要顯示刪除按鈕時,只需將視圖向左移動80點,請勿移動單元格和單元格的內容視圖。

+0

當我這樣做時,我的單元格內的按鈕點擊我想要移動的內容不可點擊。 tap事件發送到'didSelectRowAtIndexPath'中的表控制器。 – Abhinav

+0

爲你的刪除按鈕添加一個點擊事件,並在點擊功能,你可以工作。 –

+0

:)。我已經在做。當按鈕直接添加到單元格的內容視圖時,它會觸發該操作,而不是在其添加到另一個視圖時觸發該操作,該視圖將作爲子視圖進一步添加到單元格內容視圖。 – Abhinav

0

方法1: 我不認爲你可以修改單元格的默認滑動手勢。您只能啓用或禁用該手勢。所以這意味着你不能使用單元格滑動顯示的默認刪除按鈕來玩很多東西。你可以做的是讓你的按鈕點擊編輯tableView,然後你可以顯示刪除按鈕。例如

- (UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    return UITableViewCellEditingStyleDelete; 
} 
-(void)deleteButtonTapped:(UIButton *)deleteButton{ 
    [self.tableView setEditing:YES animated:YES]; 
} 

方法2: 設計自己的自定義單元格可以顯示自定義按鈕和看起來像默認。請參閱下面的鏈接。 https://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views

相關問題