He subclasificado UITableViewCell para crear una celda personalizada con un botón y 2 etiquetas. La definición de celda se carga desde un xib usando el patrón descrito en el Desarrollo de iPhone Principiante de Dave Mark. Aquí está el código esencial:No se puede sangrar la subclase UITableViewCell
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MarketItemCustomCell" owner:self options:nil];
for (id oneObject in nib)
{
if ([oneObject isKindOfClass:[MarketItemCustomCell class]])
{
cell = (MarketItemCustomCell *)oneObject;
break;
}
}
Las etiquetas y el botón se muestran como se esperaba, pero no se respeta el nivel de sangría. He implementado indentationLevelForRowAtIndexPath como a continuación, pero la celda todavía está alineada completamente a la izquierda.
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath
{
<snip/>
return 5;
}
Tenga en cuenta que el nivel de sangría funciona bien cuando no estoy utilizando una celda personalizada.
¿Alguna pista?
¡Esto funciona perfectamente! – Nathan
Esto es excelente para sangrar la vista de contenido, ¡gracias! ¿Qué hay de sangrar la celda en sí? Pensé que eliminaría contentView de lo anterior y veré para ver si indentationLevel no es 0, pero parece asqueroso. –
código anterior se cuelga en iOS8 – Gerry