概述,默认显示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];

    }

相关文章
相关标签/搜索