Estoy tratando de mostrar una tabla llena de estados de Twitter (sí, esta es la asignación Stanford Presence 2), que son de tamaño variable. relativamente puedo determinar fácilmente la altura apropiada para mis filas con el código que se aproxima (de accompanying lecture 9):¿Cuál es la mejor manera de implementar una UITableCell multilínea de tamaño variable?
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *) indexPath
{
NSString *text = ...;
UIFont *font = [UIFont systemFontOfSize:...];
CGSize withinSize = CGSizeMake(tableView.width, 1000];
CGSize size = [text sizeWithFont:font constrainedToSize:withinSize lineBreakMode:UILineBreakModeWordWrap];
return size.height + somePadding;
}
He intentado dos enfoques (y algunos ajustes a la vez) para obtener un campo de palabras envoltura de varias líneas de texto en mi fila de la mesa.
Añadir un UILabel como subvista a mi costumbre UITableCell subclase, y establezca la propiedad
numberOfLines
ya sea a un número que se calcula en base a la altura por encima (por ejemplo, 6), oa 0 (teóricamente ilimitado). ElnumberOfLines
se ignora; Veo 1 o 2 líneas, y no más.Agregue una UITextView de solo lectura como subvista. Esto tiene el problema de que el UITextView come mi desplazamiento; Termino desplazándome dentro de una fila UITextView en lugar de moverme sin problemas de una fila a otra. Si deshabilito el desplazamiento en el UITextView, no puedo desplazarme.
Esto es algo bastante común de hacer; ¿Cuál es la mejor manera de lograrlo?
Parece que funciona, con desplazamiento deshabilitado. Creo que en algún lugar mi UITextView no está teniendo el tamaño adecuado. –
Sí, finalmente fue capaz de obtener el conjunto de parámetros de autosizing adecuado para que funcione. –