Saya telah menggunakan minimumFontSize
sebelumnya tetapi fungsi itu sekarang sudah usang dan saya tidak begitu mengerti cara minimumScaleFactor
kerjanya.
Saya ingin ukuran font maksimal 10 dan minimal 7.
Bagaimana saya bisa mengubah ukuran ke ukuran font 7 dengan faktor skala?
UILabel
penciptaan:
UILabel *label = [[UILabel alloc] init];
[label setTranslatesAutoresizingMaskIntoConstraints:NO];
label.text = [labelName uppercaseString];
label.textAlignment = NSTextAlignmentCenter;
label.textColor = [UIColor whiteColor];
label.font = [UIFont fontWithName:HELVETICA_FONT_STYLE_BOLD size:9.5];
label.backgroundColor = [UIColor clearColor];
label.minimumScaleFactor = .1f;
[label addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[label(WIDTH)]"
options:0
metrics:@{@"WIDTH" : [NSNumber numberWithFloat:buttonSize.width]}
views:NSDictionaryOfVariableBindings(label)]];
[contentView addSubview:label];
ios
objective-c
uilabel
Padin215
sumber
sumber
Sebagai tambahan dari jawaban lain, jika Anda meletakkan minSize / defaultSize (divisi) sebagai
minimumScaleFactor
, itu akan sama dengan menggunakan yang lamaminimumFontSize
.Mis, jika Anda ingin ukuran font minimum menjadi 10 menggunakan ukuran label default, Anda dapat melakukan:
[label setMinimumScaleFactor:10.0/[UIFont labelFontSize]];
(Ganti
[UIFont labelFontSize]
dengan ukuran font label Anda jika itu bukan default).yang akan sama dengan:
[label setMinimumFontSize:10.0];
sumber
Menurut dokumentasi :
Jadi jika ukuran font default untuk label Anda adalah
10
, Anda menempatkan0.7f
sebagaiminimumScaleFactor
dan itu harus melakukan hal yang sama sepertiminimumFontSize
sebelumnya.sumber
Selain jawaban lain, saya akan menambahkan penjelasan ramah-pemula yang membantu diri saya sendiri:
Bagaimana cara menghitung a
minimumScaleFactor
? Bagilah ukuran font minimum label Anda dengan ukuran font default label Anda. Misalnya, ukuran font default Anda adalah 25. Ukuran font minimum Anda adalah 10.10/25 = 0,4
0,4 adalah
minimumScaleFactor
nilai Anda . Lihat juga jawaban @ Jsdodgers di atas.sumber