你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS開發之UILabel動態高度設置方法

IOS開發之UILabel動態高度設置方法

編輯:IOS開發綜合

項目中有這樣的需求,要顯示一本書的概述,默認顯示2行,點擊展開按鈕,顯示全部,點擊收回,有顯示2行。

 


開始的時候按鈕事件中,可能寫的是這樣一段代碼:


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,來讓概述的所以內容顯示出來,但如果,不計算所要顯示全部內容的總高度,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];

 


    }


 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved