Ho un UITableView con celle personalizzate che sono state definite nel file xib e sto sperimentando scarse prestazioni di scorrimento (discontinue) sul mio dispositivo quando le celle hanno un UISegmentedControl su di esse. Le dichiarazioni di NSLog rivelano che le cellule vengono assegnate e riutilizzate come dovrebbero. Il mio codice per il metodo cellForRowAtIndexPath è sotto. Le connessioni sono fatte nello xib come da documentazione di Apple. (Scorre senza intoppi nel simulatore btw)Perché le prestazioni di scorrimento sono scadenti per le celle di visualizzazione tabella personalizzate con oggetti UISegmentedControl?
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
[[NSBundle mainBundle] loadNibNamed:@"TableViewCell"
owner:self
options:nil];
cell = self.tvCell;
self.tvCell = nil;
}
cell.layer.shouldRasterize = YES; // build error is here
UILabel *lbl = (UILabel *)[cell viewWithTag:1];
[lbl setText:[NSString stringWithFormat:@"Q%i", indexPath.row+1]];
return cell;
}
Noah, dopo aver aggiunto la prima riga di codice che hai suggerito, e quindi anche aggiungendo il framework QuartzCore in modo che possa fare riferimento al livello, ottengo errore di compilazione: "richiesta per membro" dovrebbeRasterizzare "in qualcosa non una struttura o unione" . Vorresti dire di più su cosa è necessario per far funzionare queste due linee di codice? – Alyoshak
Questo errore potrebbe verificarsi se non hai #import nel tuo .m; inoltre, shouldRasterize è disponibile solo in iOS 3.2 e versioni successive. –
Sì viene importato anche nel mio file .m e anche in. Ma, no, non usare 3.2 (usando 3.1.3). Deve essere il problema Sì, e non riesco nemmeno a costruire con successo il targeting di questo dispositivo (iPodTouch) con iOS 3.2. Errore di firma del codice e un altro strano per iOS 3.2. Entrambi sono qui: [BEROR] Errore CodeSign: la firma del codice è richiesta per il tipo di prodotto 'Applicazione' nell'SDK 'Dispositivo - iPhone OS 3.2' Avviso [BWARN]: creazione con 'Famiglia dispositivo mirata' impostata solo su iPhone ('1 ') non supportato con SDK' Device - iPhone OS 3.2 '. –
Alyoshak