Abilitare Swipe-to-delete mentre si mostrano i controlli di riordino su UITableView
-
07-07-2019 - |
Domanda
Sto cercando di consentire il riordino di UITableViewCell
e la cancellazione tramite scorrimento per eliminare, ma non tramite il cerchio di eliminazione rosso.
- (void)loadView
{
[super loadView];
[table setEditing:YES animated:NO];
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Perform delete here
}
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
{
// Perform move here
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
Inoltre, ho provato a disabilitare la modalità di modifica e chiamando - [UITableViewCell setShowsReorderControl: YES]
senza fortuna.
(fonte: booleanmagic.com )
Soluzione
Penso che dovrai fare alcune intercettazioni personalizzate per gli eventi di tocco.
In inglese: se il dito si spostava, distanza x, orizzontalmente attraverso la cella, solo in quella cella, quindi mostra il controllo di eliminazione.
Non sono sicuro di come disattivare i cerchi a sinistra, ma penso che sia una proprietà come " mostra il controllo del riordino "
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow