UILabel字体大小?

91

我似乎无法使用以下代码修改UILabel的字体大小:

itemTitle.font = [UIFont systemFontOfSize:25];

当我将数字25增加到更大的值时,似乎只会为标签添加顶部边距,这会导致文本向下移动太多,以至于文本在底部被截断或完全溢出。
我在其他地方有另一个字体大小为25的UILabel,它比itemTitle文本要小得多。发生了什么?25不应该是绝对值吗?
我对如何以编程方式更改uilabel的字体大小感到困惑。
11个回答

180

我已经使用以下代码修改了UILabel:

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

尝试使用以下代码,看看是否适用于你的情况:


6
label.font = label.font.withSize(25),这是 Swift 中设置标签字体大小的代码。 - Tom Howard
2
Swift 3 - Marcio Klepacz

56

检查您的标签是否设置为自动调整大小。在IB中,它被称为“自动缩小”,并位于字体设置旁边。在编程上,它被称为adjustsFontSizeToFitWidth


35
[label setFont:[UIFont systemFontOfSize:9]];

这对我有效。


23

对于 Swift 3.1Swift 4Swift 5,如果你只想改变标签的字体大小:

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

7
这对我在Swift 3中有用。
label.font = label.font.fontWithSize(40.0)

Swift 4

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

5
非常简单而有效的方法可以通过编程来调整标签文本的大小:-
label.font=[UIFont fontWithName:@"Chalkduster" size:36];

:-)


1

上面的回答非常有帮助。

这是Swift版本。

@IBOutlet weak var priceLabel: UILabel!

*.... lines of code later*

self.priceLabel.font = self.priceLabel.font.fontWithSize(22)

1
这对我有效:

sequencerPlayLabel.font = [UIFont fontWithName:kTypeFont size:kTypeFontSize];

-rich


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接