iphone: метод sizeWithFont не идентифицирует '\ n' из строки - PullRequest
5 голосов
/ 24 мая 2011

Я использую приведенный ниже код для расчета размера метки для строки.

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

Но id не учитывает \ n символов из строки для изменения строки. Когда я отображаю эту строку на метке и устанавливаю для свойства numberOfLines значение 4 или 5, метка учитывает \ n и переходит к следующей строке. Как я могу рассчитать высоту для этикетки, учитывая \ n из строки. Пожалуйста, помогите мне.

Спасибо !!!

1 Ответ

5 голосов
/ 24 мая 2011

Попробуйте:

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

Это даст мне Height : 48.000000 Width : 40.000000, но не забудьте установить номер строки в метке на 0.

...