IOS开发之UILabel动态高度设置方法
2013-06-19 14:59
411 查看
项目中有这样的需求,要显示一本书的概述,默认显示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];
}
开始的时候按钮事件中,可能写的是这样一段代码:
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];
}
相关文章推荐
- IOS开发之UILabel动态高度设置方法
- iOS开发之UILabel动态高度设置方法
- iOS 设置UILabel的行间距并自适应高度的方法
- IOS开发—IOS7.0以后UILabel高度自适应设置
- iOS开发:关于UILabel、UIButton、UITextField文字下划线的设置方法(涉及到富文本的知识)
- iOS开发技巧之:UILabel设置行间距和字间距并计算高度
- iOS动态调整UILabel高度的几种方法
- iOS 动态设置UILabel的frame(宽度和高度)
- 【iOS界面开发】iOS下,UILabel自适应高度的方法
- iOS开发动态计算cell高度或UILabel多行文本计算高度、宽度的技巧
- ionic开发中动态设置ion-scroll的高度
- iOS UILabel设置行间距和字间距并计算高度
- iOS开发笔记--UILabel和UITextView自适应文本高度代码
- iOS开发笔记--关于设置UIView的背景为图片的方法以及问题
- IOS开发中UILabel单行、多行文本计算高度、宽度的技巧
- iOS开发------runtime之动态添加方法(动态决议,请求转发)
- iOS开发(iPad/iPhone)设置app界面 默认横向显示的两种方法
- iOS控件UILabel自适应高度过程中,某一边出现了黑线的处理方法
- swift 动态设置UILabel的高度
- iOS开发(iPad/iPhone)设置app界面 默认横向显示的两种方法