Розмір шрифту UILabel?


87

Здається, я не можу змінити розмір шрифту UILabel за допомогою такого коду:

itemTitle.font = [UIFont systemFontOfSize:25];

Коли я збільшую число 25 до чогось більшого, здається, лише додаю верхнє поле до мітки, що, отже, настільки штовхає текст вниз, так що текст внизу обрізається або повністю переливається.

у мене є інший UILabel в іншому місці з systemFontOfSize 25, і він набагато менший, ніж текст itemTitle. Що відбувається? Хіба 25 не має бути абсолютним значенням?

Я так заплутався, як програмно змінити розмір шрифту uilabels.

Відповіді:


56

Переконайтеся, що для ваших міток не встановлено автоматичний розмір. У IB це називається "Autoshrink" і знаходиться прямо біля налаштування шрифту. Програмно це називається adjustsFontSizeToFitWidth.


176

Я змінив UILabel наступним кодом:

label.font=[label.font fontWithSize:25];

Спробуйте це і подивіться, працює це у вашому випадку чи ні ???


4
label.font = label.font.fontWithSize(25)for Swift
Tom Howard

Свіфт 3label.font = label.font.withSize(25)
Марсіо Клепач


17

Для Swift 3.1 і Swift 4 , якщо ви хочете змінити лише розмір шрифту для етикетки:

let myLabel : UILabel = ...
myLabel.font = myLabel.font.withSize(25)

12

** Ви можете встановити розмір шрифту за цими властивостями **

timedisplayLabel= [[UILabel alloc]initWithFrame:CGRectMake(70, 194, 180, 60)];

[timedisplayLabel setTextAlignment:NSTextAlignmentLeft];

[timedisplayLabel setBackgroundColor:[UIColor clearColor]];

[timedisplayLabel setAdjustsFontSizeToFitWidth:YES];

[timedisplayLabel setTextColor:[UIColor blackColor]];

[timedisplayLabel setUserInteractionEnabled:NO];

[timedisplayLabel setFont:[UIFont fontWithName:@"digital-7" size:60]];

timedisplayLabel.layer.shadowColor =[[UIColor whiteColor ]CGColor ];

timedisplayLabel.layer.shadowOffset=(CGSizeMake(0, 0));

timedisplayLabel.layer.shadowOpacity=1;

timedisplayLabel.layer.shadowRadius=3.0;

timedisplayLabel.layer.masksToBounds=NO;

timedisplayLabel.shadowColor=[UIColor darkGrayColor];

timedisplayLabel.shadowOffset=CGSizeMake(0, 2);

5

дуже простий, але ефективний метод, щоб програмно регулювати розмір тексту етикетки: -

label.font=[UIFont fontWithName:@"Chalkduster" size:36];

:-)


5

Це спрацювало для мене в

Стрімкий 3

label.font = label.font.fontWithSize(40.0)

Стрімкий 4

label.font = label.font.withSize(40.0)



1

У C # Ці способи ви можете вирішити проблему, в UIkit ці методи доступні.

Label.Font = Label.Font.WithSize(5.0f);
       Or
Label.Font = UIFont.FromName("Copperplate", 10.0f);  
       Or
Label.Font = UIFont.WithSize(5.0f);

-1

Спробуйте змінити висоту та ширину рамки етикетки, щоб текст не вирізався.

 [label setframe:CGRect(x,y,widht,height)];
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.