2013-10-08 15 views
6

Ho riscontrato un problema con l'accessorio segno di spunta nella mia cella. Quando uso qualcosa di un altro tipo di accessorio funziona ma non con l'accessorio segno di spunta.UITableViewCellAccessoryCheckmark non visualizzato in iOS 7

Funziona perfettamente in iOS 6 ma non su iOS 7. Quando mi manca?

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:EVENT_SELECTION_CELL_IDENTIFIER forIndexPath:indexPath]; 
    Event *event = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
    cell.textLabel.text = event.name; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    if ([event.current boolValue]) { 
     cell.accessoryType = UITableViewCellAccessoryCheckmark; 
    } else { 
     cell.accessoryType = UITableViewCellAccessoryNone; 
    } 
    return cell; 
} 
+1

Hanno cambiato i valori predefiniti in ios7. :) La cella ha un colore di sfondo predefinito quando selezionato. In iOS 7, il colore selezionato non è più blu. Utilizzare invece * UITableViewCellSelectionStyleDefault *. versione float = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version> = 7.0) { cell.selectionStyle = UITableViewCellSelectionStyleDefault; } else { cell.selectionStyle = UITableViewCellSelectionStyleNone; } –

+0

Ho lo stesso problema. Vedi la mia domanda qui: http://stackoverflow.com/questions/19249389/checkmark-wont-show-in-tableviewcell-on-ios7/19418537 – audience

risposta

1

Proprio come un controllo di realtà dal momento che il codice sembra ok è possibile cambiare il vostro [event.current BOOLVALUE] per YES, sembra che il problema è in realtà il valore ... sarò anche controllare il delegato del Tableview ..

se non questo o quello, fateci sapere ... io eliminare questa risposta ...

if (YES) { 
//.. 
} 
+0

Ho già provato cose del genere ma questo non ha cambiato nulla. Quando uso un altro tipo di accessorio funziona – wvp

22

ho risolto questo problemi cambiando il colore della tinta del UITableView

Ho cambiato il tintcolot di datto da InterfaceBuilder to Default colore

o

TableView.tintColor = [UIColor blackColor]; 
+0

Questa è la soluzione. Dovrebbe essere accettato – giuseppe

2

Nel caso in cui questo potrebbe aiutare qualcuno .... per me, l'impostazione del colore Tableview tinta non ha funzionato, ma l'impostazione della colore tinta cellula cellForRowAtIndexPath ha funzionato:

cell.tintColor = [UIColor grayColor]; 
1

per ottenere il segno di spunta blu posteriore (simile a iOS6), è possibile utilizzare:

cell.tintColor = [UIColor colorWithRed:(0.0/255.0) green:(122.0/255.0) blue:(255.0/255.0) alpha:1.0]; 
Problemi correlati