Mrw*_*lfy 3 xcode fonts uitextfield uilabel ios
UILabels和textFields可以自动缩放其字体以适应视图的空间(例如文本累积).有没有办法衡量所执行的量表的数量?看起来,当自动缩放时,无论显示的文本比例如何,myLabel.font.pointsize或myTextField.font.pointSize的值都保持不变.
有一种方法可以在UIKit中添加以下内容NSString:
- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode
Run Code Online (Sandbox Code Playgroud)
因此,如果您使用的是UILabel,则可以使用以下代码:
CGFloat actualFontSize;
UILabel *label = [self label];
CGSize size = [[label text] sizeWithFont:[label font]
minFontSize:[label minimumFontSize]
actualFontSize:&actualFontSize
forWidth:[label bounds].size.width
lineBreakMode:[label lineBreakMode]];
Run Code Online (Sandbox Code Playgroud)
此时,size将包含绘制文本的大小,并且actualFontSize将是标签用于绘制的字体的实际大小.