UILabel ukuran font?


87

Sepertinya saya tidak bisa mengubah ukuran font UILabel dengan kode berikut:

itemTitle.font = [UIFont systemFontOfSize:25];

Saat saya meningkatkan angka 25 menjadi sesuatu yang lebih besar, tampaknya hanya menambahkan margin atas ke label, yang akibatnya mendorong teks begitu banyak, sehingga teks terpotong di bagian bawah atau meluap sepenuhnya.

saya memiliki UILabel lain di tempat lain dengan systemFontOfSize 25, dan itu jauh lebih kecil daripada teks itemTitle. Apa yang sedang terjadi? Bukankah 25 seharusnya menjadi nilai absolut?

saya sangat bingung tentang cara mengubah ukuran font uilabels secara terprogram.

Jawaban:


56

Pastikan label Anda tidak disetel untuk mengubah ukuran secara otomatis. Di IB, ini disebut "Autoshrink" dan berada tepat di samping pengaturan font. Secara terprogram, ini disebut adjustsFontSizeToFitWidth.


179

Saya telah mengubah UILabel dengan kode berikut:

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

Coba ini dan lihat apakah itu berfungsi dalam kasus Anda atau tidak ???


5
label.font = label.font.fontWithSize(25)untuk Swift
Tom Howard

Swift 3label.font = label.font.withSize(25)
Marcio Klepacz


19

Untuk Swift 3.1 dan Swift 4 , jika Anda hanya ingin mengubah ukuran font untuk label:

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

12

** Anda dapat mengatur ukuran font dengan properti ini **

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

metode yang sangat sederhana, namun efektif untuk menyesuaikan ukuran teks label secara progmatis: -

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

:-)


5

Ini berhasil bagi saya di

Cepat 3

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

Cepat 4

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

1

Ini berhasil untuk saya:

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

-kaya


1

Jawaban di atas sangat membantu.

Ini adalah versi Swiftnya.

@IBOutlet weak var priceLabel: UILabel!

*.... lines of code later*

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

1

Di C # Cara-cara ini Anda dapat Memecahkan masalah, Di UIkit metode ini tersedia.

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

-1

Cobalah untuk mengubah tinggi dan lebar ukuran bingkai label Anda agar teks Anda tidak terpotong.

 [label setframe:CGRect(x,y,widht,height)];
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.