Coordenada Y inesperada de UILabel en UITableView
Frecuentes
Visto 201 veces
1
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
3 Respuestas
1
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
0
A UILabel
El 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
0
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 ios5 xcode4 uitableview uilabel custom-cell or haz tu propia pregunta.