Coordenada Y inesperada de UILabel en UITableView

Tengo una vista de tabla que consta de celdas de aduanas. Cada una de las Celdas tiene tres Etiquetas en total.

El problema principal es la formación de la etiqueta intermedia de las tres etiquetas de la célula.

Estoy creando una etiqueta personalizada con el mismo CGRect como

UILabel *msglabeltemp = [[[UILabel alloc]  initWithFrame:  CGRectMake(80,20.0,230.0,80.0)] autorelease];
[cell.contentView addSubview:msglabeltemp];
msglabeltemp.backgroundColor = [UIColor clearColor];
msglabeltemp.textColor = [UIColor grayColor];
msglabeltemp.numberOfLines=6;
[msglabeltemp setFont:[UIFont fontWithName:@"Helvetica Neue" size:12.0f]];
msglabeltemp.tag=1;
msglabeltemp.font=[UIFont systemFontOfSize:12.0f];
msglabeltemp.textAlignment=UITextAlignmentLeft ;
//Adding Label To Cell
UILabel *msglabel = (UILabel *)[cell.contentView viewWithTag:1];

msglabel.text = [data1 objectForKey:@"msg"];

... esta etiqueta se llamará para cada etiqueta en la celda, pero está dando una distancia inesperada entre la primera y la etiqueta del medio.

Ver el área resaltada en rojo en la imagen

enter image description here

preguntado el 03 de mayo de 12 a las 17:05

3 Respuestas

Esto también es útil

CGSize maximumSize = CGSizeMake(300, 9999);
    NSString *dateString = @"The date today is January 1st, 1999";
    UIFont *dateFont = [UIFont fontWithName:@"Helvetica" size:14];
    CGSize dateStringSize = [dateString sizeWithFont:dateFont 
            constrainedToSize:maximumSize 
            lineBreakMode:self.dateLabel.lineBreakMode];

    CGRect dateFrame = CGRectMake(10, 10, 300, dateStringSize.height);

    self.dateLabel.frame = dateFrame;

contestado el 04 de mayo de 12 a las 08:05

A UILabelEl contenido de no está alineado en la parte superior (en cambio, está centrado en el medio), razón por la cual está viendo esto.

Vea Alinear verticalmente el texto hacia la parte superior dentro de un UILabel para obtener inspiración sobre cómo cambiar esto.

contestado el 23 de mayo de 17 a las 11:05

CGRect lblFrame = CGRectMake(20, 20, 280, 150);
    UILabel *lbl = [[UILabel alloc] initWithFrame:lblFrame];
    [lbl setBackgroundColor:[UIColor orangeColor]];

    NSString *labelText = @"I am the very model of a modern Major-General, I've information vegetable, animal, and mineral";
    [lbl setText:labelText];

    // Tell the label to use an unlimited number of lines
    [lbl setNumberOfLines:0];
    [lbl sizeToFit];

contestado el 04 de mayo de 12 a las 07:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.