設(shè)置IOS的UILabel動態(tài)高度方法

字號:


    開始的時候按鈕事件中,可能寫的是這樣一段代碼:
    if (isExpand) {
    [lblBrief setNumberOfLines:2];
    lblBrief.text = [StringUtil subString:strBrief AndSubLength:90];
    [btnBrief setImage:[UIImage imageNamed:@"detailBriefDown"] forState:UIControlStateNormal];
    [btnBrief setImage:[UIImage imageNamed:@"detailBriefDown"] forState:UIControlStateHighlighted];
    }else{
    [lblBrief setNumberOfLines:0];
    lblBrief.text = strBrief;
    [btnBrief setImage:[UIImage imageNamed:@"detailBriefUp"] forState:UIControlStateNormal];
    [btnBrief setImage:[UIImage imageNamed:@"detailBriefUp"] forState:UIControlStateHighlighted];
    }
    可以通過setNumberOfLines:0,來讓概述的所以內(nèi)容顯示出來,但如果,不計算所要顯示全部內(nèi)容的總高度,label的寬高是不會自動增大的。
    else{
    [lblBrief setNumberOfLines:0];
    lblBrief.text = strBrief;
    CGSize constraint = CGSizeMake(self.view.frame.size.width - (15 * 2), 20000.0f);
    CGSize size = [strBrief sizeWithFont:[UIFont systemFontOfSize:10]constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
    [brief setFrame:CGRectMake(15,160,size.width,size.height)];
    [btnBrief setImage:[UIImage imageNamed:@"detailBriefUp"]forState:UIControlStateNormal];
    [btnBrief setImage:[UIImage imageNamed:@"detailBriefUp"]forState:UIControlStateHighlighted];
    }