2013-05-30 7 views
5

Ho creato un UITableView in modalità di modifica, forzato l'esecuzione in modalità di modifica sulla funzione viewDidLoad di un viewcontroller contenente questa tabellaview. Tutto è a posto, ogni riga di tabella ha un'icona di eliminazione a sinistra, l'icona re-arrange a destra. Ho implementatoios UITableView elimina/riorganizza la modalità di modifica ma non mostra l'icona di cancellazione

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     return UITableViewCellEditingStyleDelete; 
} 

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return YES; 
} 

Il problema è su ogni riga che non voglio mostrare un rosso cancellare icona a sinistra, solo mostrare l'icona di ri-organizzare a destra. Quando l'utente vuole cancellare, lui/lei può strisciare una riga per cancellare.

Il motivo per cui desidero farlo è non incoraggiare l'utente a eliminare un prodotto di riga. Capisco che posso mettere un pulsante Modifica, quando l'utente fa clic su questo pulsante, vado in modalità Modifica, ma non voglio farlo, voglio visualizzare una funzione di riorganizzazione all'inizio quando l'utente entra nel mio viewcontroller .

Posso farlo.

Mettiamola alcuni screen shot

This is what I got

This is what I want to show. When user swipe I want to show a Delete button overlay the arrange icon on the right

La prima immagine è quello che ho ottenuto.

La seconda immagine è ciò che in realtà voglio mostrare. Quando si fa scorrere l'utente, voglio mostrare un pulsante Elimina sovrapposto all'icona di arrangiamento sulla destra

+0

Puoi aggiungere qualche schermata? – Khawar

+0

prova a cambiare la modificaStyleForRowAtIndexPath in UITableViewCellEditingStyleNone? –

+0

@verbumdei Thks, ho provato questo, ma l'utente non può scorrere per eliminare, non succede nulla quando l'utente fa scorrere –

risposta

9

Non penso che tu possa usare il dito per cancellare quando la vista tabella è in modalità di modifica, invece puoi aggiungere UISwipeGesture e implementare la tua abitudine pulsante.

Se si sta eseguendo con gesti, è necessario implementare i seguenti metodi delegati di UITableView.

Impostazione dello stile di modifica a nessuno:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    return UITableViewCellEditingStyleNone; 
} 

Questo dice che le righe non devono essere rientrati, mentre la visualizzazione della tabella è in modalità di modifica

- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { 
    return NO; 
} 

È possibile fare riferimento this link per sapere come per aggiungere un gesto di scorrimento a UITableView.

+0

Grazie, ho pensato di personalizzare il riconoscimento dei gesti per uitableview. Semplicemente non so se esiste una proprietà built-in di tabella che mi permetta di farlo semplicemente. :) Forse devo fare questo per il mio requisito –

Problemi correlati