it-swarm.it

Come modificare il testo del pulsante di eliminazione di uitableview

Salve, sto cercando di cambiare il testo che viene visualizzato nel pulsante Elimina quando un utente passa una cellula adattabile nella mia vista tabella.

Ho visto un esempio in un altro thread di domande che dice di usare questo delegato tableview

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

La mia domanda è: come posso usare questo metodo .. Non sono sicuro di come usarlo.

75
C.Johns

Nel controller che gestisce UITableView è necessario implementare UITableviewDelegate e restituire il titolo desiderato per il metodo all'interno del metodo titleForDeleteConfirmationButtonForRowAtIndexPath.

Esempio:

@interface CategoryAddViewController : UITableViewController
@end

@implementation CategoryAddViewController
// ...
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
return @"Please don't delete me!";
}

@end

Lasciarti con qualcosa del genere:

enter image description here

194
Faizan S.

In Swift è uguale, solo la firma del metodo è diversa!

func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? {
  return "Erase"
}
29
Weles

Restituisce semplicemente la stringa che si desidera visualizzare anziché eliminare. Supponi di voler mostrare "Cancella" per tutte le righe, la funzione sopra dovrebbe contenere:

return @"Erase";

Leggi THIS

Inoltre, nel tuo file .h, aggiungi UITableViewDelegate nel caso in cui il tuo controller di visualizzazione non sia già un UITableViewController. Cioè può essere:

@interface SomeView : UIViewController <UITableViewDelegate>

OR

@interface SomeView : UITableViewController
4
Bourne