Kích thước phông chữ không dán nhãn?


87

Tôi dường như không thể sửa đổi kích thước phông chữ của Nhãn UIL với mã sau:

itemTitle.font = [UIFont systemFontOfSize:25];

Khi tôi tăng số 25 lên một cái gì đó lớn hơn, nó dường như chỉ thêm một lề trên vào nhãn, do đó đẩy văn bản xuống rất nhiều, do đó văn bản bị cắt ở dưới cùng hoặc tràn hoàn toàn.

tôi có một UILabel khác ở nơi khác với systemFontOfSize 25 và nó nhỏ hơn nhiều so với văn bản itemTitle. Chuyện gì vậy? Không phải 25 được cho là một giá trị tuyệt đối?

Tôi rất bối rối về cách thay đổi kích thước phông chữ của uilabels theo chương trình.

Câu trả lời:


56

Kiểm tra để đảm bảo rằng nhãn của bạn không được đặt để tự động thay đổi kích thước. Trong IB, nó được gọi là "Autoshrink" và nằm ngay bên cạnh cài đặt phông chữ. Theo chương trình, nó được gọi là adjustsFontSizeToFitWidth.


176

Tôi đã sửa đổi Nhãn UIL theo mã sau:

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

Hãy thử điều này và xem liệu nó có hoạt động trong trường hợp của bạn hay không ???


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

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


17

Đối với Swift 3.1Swift 4 , nếu bạn chỉ muốn thay đổi kích thước phông chữ cho nhãn:

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

12

** Bạn có thể đặt kích thước phông chữ theo các thuộc tính này **

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

phương pháp rất đơn giản nhưng hiệu quả để điều chỉnh kích thước của văn bản nhãn theo tỷ lệ: -

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

:-)


5

Điều này đã làm việc cho tôi trong

Swift 3

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

Swift 4

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

1

Điều này đã làm việc cho tôi:

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

-giàu có


1

Các câu trả lời ở trên đã giúp rất nhiều.

Đây là phiên bản Swift.

@IBOutlet weak var priceLabel: UILabel!

*.... lines of code later*

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

1

Trong C # Những cách này bạn có thể Giải quyết vấn đề, Trong UIkit có những phương pháp này.

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

-1

Cố gắng thay đổi chiều cao và chiều rộng kích thước khung nhãn của bạn để văn bản của bạn không bị cắt.

 [label setframe:CGRect(x,y,widht,height)];
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.