UILabelのフォントサイズ?


87

次のコードでUILabelのフォントサイズを変更できないようです。

itemTitle.font = [UIFont systemFontOfSize:25];

25という数字を大きくすると、ラベルに上部の余白が追加されるだけのように見えます。その結果、テキストが大幅に押し下げられ、テキストが下部で切り取られるか、完全にオーバーフローします。

systemFontOfSize 25の別のUILabelが他にあり、itemTitleテキストよりもはるかに小さいです。どうしたの?25は絶対値ではありませんか?

uilabelsのフォントサイズをプログラムで変更する方法にとても混乱しています。

回答:


56

ラベルが自動的にサイズ変更されるように設定されていないことを確認してください。IBでは、「自動縮小」と呼ばれ、フォント設定のすぐ横にあります。プログラム的には、と呼ばれadjustsFontSizeToFitWidthます。


176

次のコードでUILabelを変更しました。

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

これを試して、それがあなたのケースで機能しているかどうかを確認してください???


4
label.font = label.font.fontWithSize(25)スイフトの場合
トムハワード

Swift 3label.font = label.font.withSize(25)
MarcioKlepacz18年


17

スウィフト3.1スウィフト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

これは私のために働いた:

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

-リッチ



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)];
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.