2010-10-17 17 views
9

Puoi aggiungere un pulsante come sottoview a una cella di uitableview e avere quello cliccabile, ma non la cella stessa. vale a dire: non voglio che venga visualizzata la vista selezionata. Obvs Non posso far svelare la cella da nessuna parte, ma non voglio che appaia "selezionata" quando qualcuno la tocca.UItableViewCell - non consentire di selezionare la cella, ma può ancora premere i pulsanti al suo interno?

L'impostazione dell'interazione utente abilitata su NO rende l'intera funzione non abilitata, inclusi i pulsanti.

Qualche idea?

Grazie.

Tom

risposta

14

implementare questo metodo delegato:

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    return nil; 
} 

e impostare la proprietà UITableViewCells selectionStyle a UITableViewCellSelectionStyleNone

+1

grazie. :) e più caratteri ... –

19
cell.selectionStyle = UITableViewCellSelectionStyleNone; 

Questo consentirà di evitare la cella per evidenziare per un po 'prima che i rendimenti willSelect nil

+2

Questo dovrebbe essere contrassegnato come la risposta corretta, impostando 'selectionStyle' in questo modo la cella non risponde a nessun tocco. Usando il metodo nella risposta scelta, la cella continuerà a lampeggiare il suo stato selezionato (sfondo più scuro) per una frazione di secondo. – alexpls

0

O È possibile deselezionare l'interazione dell'utente nella finestra di ispezione Attributi del file di interfaccia della cella. Localizza la sezione: "Visualizza" e il sottotitolo: "Interazione", qui hai: "Interazione utente abilitata".

0

Basta selezionare l'opzione "nessuna selezione" sul attributi ispettore come nell'immagine

Problemi correlati