Il 12 dicembre 2008, il produttore dell'app Tweetie IPhone ha pubblicato un great example come ottiene lo scorrimento di UITableView senza il frastaglio/frammentazione che normalmente comporta. Il suo example code funziona alla grande con la versione 2.2 dell'SDK, tuttavia, quando compilo per 3.0 non riesco a far funzionare il click-highlight su una singola cella. Qualcuno ha idea di cosa deve essere aggiornato da 2.2 -> 3.0 per far funzionare (completamente) il suo codice?Scorrimento veloce in Tweetie con UITableView
risposta
In drawContentView, cambiare self.selected a self.highlighted
- (void)drawContentView:(CGRect)r
{
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor *backgroundColor = [UIColor whiteColor];
UIColor *textColor = [UIColor blackColor];
if(self.highlighted)
{
backgroundColor = [UIColor clearColor];
textColor = [UIColor whiteColor];
}
... code continues ...
}
Ci scusiamo, ma non possiamo ancora rispondere 3.0 risposte specifiche ancora fare alla NDA ... speriamo che presto dopo il rilascio 3.0 la restrizione verrà revocata.
Nel frattempo leggere i documenti su 3.0 UITableViewCells e come funziona la selezione ora, la risposta potrebbe venire a voi.
Forse questo comportamento sarà fissato magicamente al momento in cui la NDA non si applica più. Nel frattempo, segnala i bug come domande alle persone che vogliono che tu usi 3.0 ma non ne parli.
se si desidera che il punto culminante di rimanere come la nuova visualizzazione viene spinto e (comportamento predefinito per la cella di Tableview) auto-dehighlighted il pop, assicuratevi di avere anche lo sfondo trasparente per self.selected:
if(self.highlighted || self.selected){
backgroundColor = [UIColor clearColor];
textColor = [UIColor whiteColor];
}
la cella verrà automaticamente de-evidenziata e de-selezionata quando il suo bambino è spuntato.
sì. me ne sono appena reso conto quando ho postato la domanda, ma ho deciso di postare comunque. – CodingWithoutComments