] Изменение размера UILabel на основе содержимого [

] [

] У меня есть UILabel, его размер текста имеет свойство [

] [

title.adjustsFontSizeToFitWidth = YES;

] [

], которое не позволяет мне использовать стандартные методы для изменения размера UILabel. В другом сообщении я прочитал здесь, что я должен использовать функцию [

] [

sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode

] [

] из этого ответа: [] Как определить размер шрифта UILabel, когда -adjustsFontSizeToFitWidth установлен в YES? [][

] [

] Теперь я могу Не понимаю, как заставить его работать .. это фактический код [

] [

UIFont *font = [UIFont fontWithName:@"Marker Felt" size:200];
UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, width, 20.0)];
title.text = @"this is a long title that should be resized";
title.font = font;
title.numberOfLines = 1;
title.adjustsFontSizeToFitWidth = YES;

CGFloat pointSize = 0.0;
CGSize size = [title.text sizeWithFont:font 
                           minFontSize:title.minimumFontSize 
                        actualFontSize:&pointSize 
                              forWidth:width 
                         lineBreakMode:title.lineBreakMode];
title.frame = CGRectMake(title.frame.origin.x, 
                         title.frame.origin.y, 
                         size.width, 
                         size.height);

] [

] Размер UILabel изменен неправильно, как будто размер шрифта по-прежнему 200 .. Какие-нибудь подсказки? Спасибо! [

]

7
задан Community 23 May 2017 в 11:53
поделиться