Estoy tratando de averiguar cómo configurar el UITableViewCellStyle
al usar los nuevos métodos en iOS 6 para UITableView
.
Anteriormente, al crear un UITableViewCell
, cambiaba la UITableViewCellStyle
enumeración para crear diferentes tipos de celdas predeterminadas al llamar, initWithStyle:
pero por lo que puedo recopilar, este ya no es el caso.
La documentación de Apple para los UITableView
estados:
Valor de retorno : un objeto UITableViewCell con el identificador de reutilización asociado. Este método siempre devuelve una celda válida.
Discusión : Por razones de rendimiento, la fuente de datos de una vista de tabla generalmente debe reutilizar objetos UITableViewCell cuando asigna celdas a filas en su método tableView: cellForRowAtIndexPath :. Una vista de tabla mantiene una cola o lista de objetos UITableViewCell que la fuente de datos ha marcado para su reutilización. Llame a este método desde su objeto de fuente de datos cuando se le solicite que proporcione una nueva celda para la vista de tabla. Este método quita la cola de una celda existente si hay una disponible o crea una nueva basada en la clase o archivo nib que registró anteriormente.
Importante : Debe registrar una clase o un archivo nib utilizando el método registerNib: forCellReuseIdentifier: o registerClass: forCellReuseIdentifier: antes de llamar a este método.
Si registró una clase para el identificador especificado y se debe crear una nueva celda, este método inicializa la celda llamando a su método initWithStyle: reuseIdentifier:. Para las celdas basadas en plumillas, este método carga el objeto de celda desde el archivo de plumillas proporcionado. Si una celda existente estaba disponible para su reutilización, este método llama al método prepareForReuse de la celda en su lugar.
Así es como se cellForRowAtIndexPath
ve mi nuevo después de implementar los nuevos métodos:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"cell_identifier";
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:cellIdentifier];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
return cell;
}
El código que tengo hasta ahora funciona bien pero siempre devuelve el estilo predeterminado. ¿Cómo puedo cambiar esto para que pueda crear células con los otros estilos como UITableViewCellStyleDefault
, UITableViewCellStyleValue1
, UITableViewCellStyleValue2
y UITableViewCellStyleSubtitle
?
No quiero hacer una subclase UITableViewCell
, solo quiero cambiar el tipo predeterminado como podía hacer antes de iOS 6. Parece extraño que Apple proporcione métodos mejorados pero con documentación mínima para respaldar su implementación.
¿Alguien ha dominado esto o se ha encontrado con un problema similar? Estoy luchando por encontrar alguna información razonable.
UITableViewCell
que crear una subclase para obtener los otros estilos predeterminados es un problema, ya que solo crea archivos innecesarios. Gracias por tu comentario y confirmando mis sospechas.