2010-01-19 9 views
10

Estoy usando una celda UITableViewCellStyleValue2 en mi UITableView en mi aplicación y quiero que la columna de la izquierda (el texto azul - self.textField) sea mucho más estrecha que la predeterminada. Intenté configurar el archivo self.textField.bounds después de crear la celda, pero parece que no funciona; al buscar en el depurador, parece que los límites no se han establecido.¿Cómo cambiar el tamaño de las etiquetas en una celda UITableViewCellStyleValue2? (UITableView iPhone)

¿Puedo editar el tipo de celda predeterminado de esta manera, o debería simplemente crear mi propia subclase de UITableViewCell?

Gracias.

Respuesta

18

Puede crear la subclase UITableViewCell y seguir usando UITableViewCellStyleValue2. A continuación, puede sobrescribir el método layoutSubviews para cambiar el tamaño de las etiquetas:

- (void) layoutSubviews { 
    [super layoutSubviews]; // layouts the cell as UITableViewCellStyleValue2 would normally look like 

    // change frame of one or more labels 
    self.textLabel.frame = CGRectMake(...); 
    self.detailTextLabel.frame = CGRectMake(...);  
} 
+0

gracias felix. Eso funciona perfectamente .. :-) –

+2

p.s .: no debe hacer nada más que cambiar los marcos aquí. si desea cambiar las fuentes (izes), debe hacerlo al crear/cargar la celda. – FelixLam

+0

sí - eso tiene sentido. ¡Aclamaciones! –

Cuestiones relacionadas