Tengo un UITableView con celdas personalizadas que se definieron en el archivo xib, y estoy experimentando un pobre rendimiento de desplazamiento (entrecortado) en mi dispositivo cuando las celdas tienen un UISegmentedControl en ellas. Las declaraciones NSLog revelan que las celdas se están asignando y reutilizando como deberían. Mi código para el método cellForRowAtIndexPath está debajo. Las conexiones se realizan en el xib según la documentación de Apple. (Se desplaza sin problemas en el simulador por cierto)¿Por qué el rendimiento del desplazamiento es deficiente para celdas de vista de tabla personalizadas que tienen objetos 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, después de agregar la primera línea de código que sugirió y luego también agregar el marco QuartzCore para poder referirme a la capa, obtengo error de compilación: "solicitud de miembro 'shouldRasterize' en algo que no es una estructura o unión" . ¿Podría decirnos más sobre lo que se requiere para que esas dos líneas de código funcionen? – Alyoshak
Ese error podría aparecer si no tiene #import en su .m; Además, shouldRasterize solo está disponible en iOS 3.2 y versiones posteriores. –
Sí se importó en mi archivo .m y también. Pero, no, no usando 3.2 (usando 3.1.3). Debe ser el problema. Sí, y ni siquiera puedo construir con éxito este dispositivo (iPodTouch) con iOS 3.2. Error de firma de código y otro extraño con respecto a iOS 3.2. Ambos están aquí: [BEROR] Error de CodeSign: se requiere la firma de código para el tipo de producto 'Aplicación' en SDK 'Dispositivo - iPhone OS 3.2' Advertencia [BWARN]: compilación con 'Familia de dispositivos orientados' configurada solo para iPhone ('1 ') no compatible con SDK' Dispositivo - iPhone OS 3.2 '. –
Alyoshak