Ios7 动态更改文本字体大小而不更改标签大小

Ios7 动态更改文本字体大小而不更改标签大小,ios7,ios6,uilabel,uifont,Ios7,Ios6,Uilabel,Uifont,我正在开发一个应用程序,其中我有固定大小的UILabel,它可以包含任何大小的文本。 我需要在不改变标签大小的情况下调整字体大小 以下是我如何实现这一目标的: UILabel *errorMessageLabel=[[UILabel alloc]initWithFrame:CGRectMake(0,50,300,30)]; errorMessageLabel.lineBreakMode =NSLineBreakByTruncatingTail; errorMessageLabel

我正在开发一个应用程序,其中我有固定大小的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的大小

我已经在UILabel中包含了此项,但不适用于我。如果我删除errorMessageLabel.adjustsLetterSpacingToFitWidth=YES;它不会调整textnumberOfLines属性设置为1的大小。在某些情况下,文本可能需要显示在多行上
errorMessageLabel.numberOfLines = 1;
errorMessageLabel.adjustsFontSizeToFitWidth = YES;
errorMessageLabel.minimumFontSize = MIN_FONT_SIZE;