Pregunta

Tengo un tableivew con un montón de células y yo estoy tratando de conseguir el UILabel para mostrar más de 3 líneas. He establecido la linebreakmode y los NumberOfLines adecuadamente, pero todavía no está mostrando más de tres líneas. ¿Alguna sugerencia? La celda de la tabla se ajusta automáticamente su altura para acomodar el número de carbones de leña / líneas, pero el texto muestra tres líneas y luego una elipse (al hacer clic en la celda que se va a otra vista que muestra el texto completo.

A continuación se muestra el código que tengo que crear y mostrar el UILabel:

   self.commentLabel = [self newLabelWithPrimaryColor:[UIColor blackColor] selectedColor:[UIColor whiteColor] fontSize:12.0 bold:YES];
    self.commentLabel.textAlignment = UITextAlignmentLeft; // default
    self.commentLabel.lineBreakMode = UILineBreakModeWordWrap;
    self.commentLabel.numberOfLines = 0; // no limit to the number of lines 
    [myContentView addSubview:self.commentLabel];
    [self.commentLabel release];

Me gustaría todo el comentario para que aparezca en la celda de tabla.

¿Fue útil?

Solución

Parece que el rectángulo de la etiqueta es demasiado pequeño como para caber todo el texto ... Usted debe hacer el rectángulo grande en el fin de que no aparezcan las elipses y mostrar todo el texto

Otros consejos

Con el concepto de diseño diseño automático, no establezca restricciones de altura para UILabel y establecen ninguna. de líneas como 0 .

autoLayout tomar automáticamente de altura dinámica de etiqueta de acuerdo con el texto de la etiqueta. Si la etiqueta tiene una sola línea de texto a continuación, que ocupará el espacio única línea. Y si la etiqueta tiene más de una línea, entonces cambiará el tamaño de etiqueta de acuerdo con el tamaño del texto y el número de líneas requeridas para mostrar el texto.

  • Asignar e implementar dataSource tableview y delegar
  • Asignar a UITableViewAutomaticDimension rowHeight y estimatedRowHeight
  • métodos
  • Implementar delegado / dataSource (es decir heightForRowAt y devolver una UITableViewAutomaticDimension valor a la misma)

-

Objetivo C:

// in ViewController.h
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

  @property IBOutlet UITableView * table;

@end

// in ViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];
    self.table.dataSource = self;
    self.table.delegate = self;

    self.table.rowHeight = UITableViewAutomaticDimension;
    self.table.estimatedRowHeight = UITableViewAutomaticDimension;
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return UITableViewAutomaticDimension;
}

Mira esta respuesta: Ajuste UILabel dinámicamente dentro UITableViewCell?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top