¿Cómo puedo hacer que la segunda celda se expanda para ajustarse al texto en lugar de escalar el texto? ¿Existe alguna forma de hacerlo en iOS o tendré que buscar alguna solución casera? Si mira en la aplicación Contactos de iOS, hay un cuadro como este para Dirección. No puedo encontrar cómo implementar esto sin embargo.¿Cómo creo una celda de tabla multilínea en iOS?
Para cualquiera que quiera lograr esto en el futuro, aquí está el código para mi solución:
archivo de cabecera: archivo
#define FONT_SIZE 22.0f
#define CELL_CONTENT_WIDTH 320.0f
#define CELL_CONTENT_MARGIN 5.0f
APLICACIÓN:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0 && indexPath.row == 1) {
NSString *text = [atmAnnotation address];
CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"Size for address is Height:%f Width:%f",size.height,size.width);
CGFloat height = MAX(size.height, 44.0f);
return height + (CELL_CONTENT_MARGIN * 2);
}
return 44.0f;
}
Aquí hay una captura de pantalla del resultado: