2011-05-24 8 views
5

Estoy usando el código siguiente para calcular el tamaño de la etiqueta de una cadena.iphone: el método sizeWithFont no identifica el ' n' de la cadena

NSString * str = @"It's \n that \n don't \n"; 
    CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Verdana" size:12.5] forWidth:300 
    lineBreakMode:UILineBreakModeWordWrap]; 
    NSLog(@"Height : %f Width : %f ",size.height,size.width); 

Pero id no tiene en cuenta \ n caracteres de la cadena para cambiar la línea. Cuando visualizo esta cadena en una etiqueta y lo configuro con la propiedad numberOfLines en 4 o 5, la etiqueta considera \ ny pasa a la siguiente línea. ¿Cómo puedo calcular la altura de la etiqueta considerando los \ n de la cadena? Por favor, ayúdame .

Gracias!

Respuesta

5

Prueba esto:

NSString * str = @"It's \n that \n don't \n"; 
CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Verdana" size:12.5] constrainedToSize:CGSizeMake(300.0f, 999999.0f)]; 
NSLog(@"Height : %f Width : %f ",size.height,size.width); 

Esto me dan Height : 48.000000 Width : 40.000000, pero asegúrese de establecer el número de línea en la etiqueta para 0.

Cuestiones relacionadas