iphone : sizeWithFont method does not identify the '\n' from string

孤人 提交于 2019-12-07 05:41:43

问题


I am using below code to calculate the size for the label for a string.

    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);

But id does not consider \n characters from the string to change the line. When I display this string on a label and set it numberOfLines property to some 4 or 5 , label does consider the \n and go to the next line. How can I calculate the height for the lable considering the \n's from the string. Please help me .

Thank You !!!


回答1:


Try this:

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);

This give me Height : 48.000000 Width : 40.000000, but be sure to set the number of line in the label to 0.



来源:https://stackoverflow.com/questions/6111220/iphone-sizewithfont-method-does-not-identify-the-n-from-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!