UILabel yazı tipi boyutu?


87

Bir UILabel'in yazı tipi boyutunu aşağıdaki kodla değiştiremiyorum:

itemTitle.font = [UIFont systemFontOfSize:25];

25 sayısını daha büyük bir şeye yükselttiğimde, etikete yalnızca bir üst kenar boşluğu ekliyor gibi görünüyor, bu da sonuç olarak metni o kadar aşağı itiyor, böylece metin altta kesiliyor veya tamamen taşıyor.

systemFontOfSize 25 ile başka bir UILabel’im var ve itemTitle metninden çok daha küçük. Neler oluyor? 25'in mutlak bir değer olması gerekmiyor mu?

uilabel'lerin yazı tipi boyutunu programlı olarak nasıl değiştireceğim konusunda kafam çok karışık.

Yanıtlar:


56

Etiketlerinizin otomatik olarak yeniden boyutlandırılacak şekilde ayarlanıp ayarlanmadığını kontrol edin. IB'de buna "Autoshrink" denir ve yazı tipi ayarının hemen yanındadır. Programlı olarak denir adjustsFontSizeToFitWidth.


179

Aşağıdaki kodu kullanarak UILabel'i değiştirdim:

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

Bunu deneyin ve sizin durumunuzda çalışıp çalışmadığını görün ???


5
label.font = label.font.fontWithSize(25)Swift
Tom Howard için

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


19

İçin Swift 3.1 ve Swift 4 , yalnızca bir etiket tipi boyutunu değiştirmek isterseniz:

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

12

** Yazı tipi boyutunu bu özelliklere göre ayarlayabilirsiniz **

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

etiket metninin boyutunu progmatik olarak ayarlamak için çok basit, ancak etkili bir yöntem: -

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

:-)


5

Bu benim için çalıştı

Hızlı 3

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

Swift 4

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

1

Bu benim için çalıştı:

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

-zengin


1

Yukarıdaki cevaplar çok yardımcı oldu.

İşte Swift versiyonu.

@IBOutlet weak var priceLabel: UILabel!

*.... lines of code later*

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

1

C # 'da Bu yollarla sorunu çözebilirsiniz, UIkit'te bu yöntemler mevcuttur.

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

-1

Metninizin kesilmemesi için etiket çerçeve boyutunuzun yüksekliğini ve genişliğini değiştirmeye çalışın.

 [label setframe:CGRect(x,y,widht,height)];
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.