2014-09-27 13 views
8

Ho appena visto questa nuova API su iOS8. Non riesco tuttavia a trovare alcuna soluzione se è possibile utilizzare le immagini anziché il testo e per consentire lo sfioramento destro e sinistro? È possibile? L'unica applicazione che ho trovato è questo:iOS 8 UITableViewRowAction: scorri verso sinistra, immagini?

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath { 

    UITableViewRowAction *moreAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"Button1" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){ 
     // maybe show an action sheet with more options 
     [self.tableView setEditing:NO]; 
    }]; 
    moreAction.backgroundColor = [UIColor blueColor]; 

    UITableViewRowAction *moreAction2 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"Button2" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){ 
     [self.tableView setEditing:NO]; 
    }]; 
    moreAction2.backgroundColor = [UIColor blueColor]; 

    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"Delete" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){ 
     [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 
    }]; 

    return @[deleteAction, moreAction, moreAction2]; 
} 

risposta

13

No, io non credo che sia possibile avere un colpo a destra (con un UITableViewCell, comunque). Tuttavia, puoi usare un'immagine per il pulsante impostando il suo colore di sfondo usando colorWithPatternImage :. La larghezza del pulsante sembra essere determinata dalla lunghezza del titolo, quindi se si desidera modificare la larghezza (e non avere alcun titolo visibile), utilizzare un titolo composto da tutti gli spazi necessari.

+0

Grazie signore :-) – MichiZH

+1

questa è una grande punta, ma quando provo, ottengo un'immagine in maiolica. Posso creare un'immagine per dimensione della riga, ma le mie celle hanno altezze variabili. se questo è il caso, c'è un modo per aggirarlo o dovrei semplicemente usare una libreria di terze parti? – skinsfan00atg

+1

Per le immagini, ho messo insieme un CocoaPod che avrebbe cercato di risolvere il più elegantemente possibile per il momento: https://github.com/benguild/BGTableViewRowActionWithImage –

5

a Swift sarebbe:

deleteAction.backgroundColor = UIColor(patternImage: UIImage(named:"sample")!) 
+1

quale dimensione ho bisogno di impostare per le immagini? –

+10

Questo è così male. Rende l'immagine ripetersi sullo sfondo. Sarebbe stato bello dire alla gente cosa fa. – CarmenA

Problemi correlati