概述,默認顯示2行,點擊展開按鈕,顯示所有,點擊收回,有顯示2行(轉載)

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

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

if (isExpand) { 事件

        [lblBrief setNumberOfLines:2]; it

        lblBrief.text = [StringUtil subString:strBrief AndSubLength:90]; im

        [btnBrief setImage:[UIImage imageNamed:@"detailBriefDown"] forState:UIControlStateNormal]; 項目

        [btnBrief setImage:[UIImage imageNamed:@"detailBriefDown"] forState:UIControlStateHighlighted]; di

    }else{ view

        [lblBrief setNumberOfLines:0]; vi

        lblBrief.text = strBrief; co

        [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]

        

        [brief setFrame:CGRectMake(15,160,size.width,size.height)];


        [btnBrief setImage:[UIImage imageNamed:@"detailBriefUp"]forState:UIControlStateNormal];

        [btnBrief setImage:[UIImage imageNamed:@"detailBriefUp"]forState:UIControlStateHighlighted];

    }

相關文章
相關標籤/搜索