我在UITableViewCell上添加了一個手勢識別器,將單元格拖到同一視圖控制器中的其他視圖。爲此,我在單元格中添加了一個長按手勢識別器。啓用/禁用輕掃以在UITableViewCell上動態刪除功能
但我還需要刷卡刪除功能,當我們不拖動單元格。但是,當我開始拖動並向一個方向移動(向右或向左)時,單元格會觸發要掃描以進行刪除的呼叫(這是默認設置)。
我需要在此刻停止此調用。重載tableView不是一個選項,因爲在重新加載後,我將放棄所選單元格進行拖動。
我在UITableViewCell上添加了一個手勢識別器,將單元格拖到同一視圖控制器中的其他視圖。爲此,我在單元格中添加了一個長按手勢識別器。啓用/禁用輕掃以在UITableViewCell上動態刪除功能
但我還需要刷卡刪除功能,當我們不拖動單元格。但是,當我開始拖動並向一個方向移動(向右或向左)時,單元格會觸發要掃描以進行刪除的呼叫(這是默認設置)。
我需要在此刻停止此調用。重載tableView不是一個選項,因爲在重新加載後,我將放棄所選單元格進行拖動。
一些猜測其中是否適用於你 -
tableView:shouldIndentWhileEditingRowAtIndexPath:
委託方法。現在,你可以在這裏做的是增加長按時間或只是添加功能來檢測多個手勢。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
您是否建議放置自定義的輕掃式刪除手勢? –
現在,您可以在這裏做的是增加長按時間或只是添加功能來檢測多個手勢。 ' - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer應該同時識別帶有測試者識別器:(UIGestureRecognizer *)otherGestureRecognizer {YES;};}; }' –
@anky_beliveMe ---感謝Man ...它工作正常.....只需{return No;}以實現我的功能 –
試試下面的代碼它的使用indexPath它可在該方法中的ios可用的UITableViewDelegate方法
- (UITableViewCellEditingStyle)tableView:(UITableView *)aTableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
// Detemine if it's in editing mode
if (self.editing)
{
return UITableViewCellEditingStyleDelete; //enable when editing mode is on
}
return UITableViewCellEditingStyleNone;
}
您也可以關閉滑動刪除在特定的部分具體行一個
斯威夫特3版本:
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
if tableView.isEditing {
return .delete
}
return .none
}
這不起作用!? –
嘗試過....但是這個函數每次調用時都會調用表格,並且如前所述我無法重新加載表格。此外,editstyle屬性是單元格的只讀屬性...... –