概述,默认显示2行,点击展开按钮,显示全部,点击收回,有显示2行(转载)
概述,默认显示2行,点击展开按钮,显示全部,点击收回,有显示2行(转载)
Lambda8421 发表于3年前
概述,默认显示2行,点击展开按钮,显示全部,点击收回,有显示2行(转载)
  • 发表于 3年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0

项目中有这样的需求,要显示一本书的概述,默认显示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]

        

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


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

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

    }

共有 人打赏支持
粉丝 11
博文 120
码字总数 121640
×
Lambda8421
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: