我正在开发一个应用程序,其中我有固定大小UILabel
,其中可能包含任何大小的文本。
我需要在不改变UILabel大小的情况下调整字体大小。
以下是我试图实现这一目标的方法:
UILabel *errorMessageLabel=[[UILabel alloc]initWithFrame:CGRectMake(0,50,300,30)];
errorMessageLabel.lineBreakMode =NSLineBreakByTruncatingTail;
errorMessageLabel.numberOfLines = 0;
errorMessageLabel.adjustsFontSizeToFitWidth=YES;
errorMessageLabel.adjustsLetterSpacingToFitWidth=YES;
if ([[[UIDevice currentDevice] systemVersion] floatValue]>=7.0) {
[errorMessageLabel setTextAlignment:NSTextAlignmentCenter];
}
else{
[errorMessageLabel setTextAlignment:UITextAlignmentCenter];
errorMessageLabel.minimumFontSize=5.0;
}
[errorMessageLabel setTag:405];
[errorMessageLabel setFont:[UIFont systemFontOfSize:13]];
[backgroundView addSubview:errorMessageLabel];
以上解决方案适用于iOS 7,但是当我尝试在iOS 6上运行时,它会正确地改变字体大小,但将文本对齐设置为左侧,忽略其中心对齐。
任何人都可以告诉我如何实现这一目标吗?我试图搜索其他解决方案,但没有任何工作。我无法更改UILabel
的尺寸
答案 0 :(得分:0)
errorMessageLabel.numberOfLines = 1;
errorMessageLabel.adjustsFontSizeToFitWidth = YES;
errorMessageLabel.minimumFontSize = MIN_FONT_SIZE;