iOS开发之UILabel动态高度设置方法
2016-01-28 12:36
507 查看
开始的时候按钮事件中,可能写的是这样一段代码:
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];
}
相关文章推荐
- Codeforces Round #257 (Div. 2) B. Jzzhu and Sequences
- iOS学习之路-简易”IT之家“(UITableView)
- confluence5.6安装
- Java Request 获取域名
- SVN问题:Server sent unexpected return value (403 Forbidden) in response to OPTIONS
- quick + nimble 单元测试
- 帮你评价UI设计作品好坏的八个标准
- C#利用webclient和webrequest来访问网页(已测webclient)
- 如何在onCreate时拿到UI的大小
- 通讯录编辑联系人(将UITextfield已有的电话号码,或名成)默认显示在编辑的界面
- 设计模式(三)----- 建造者模式(Builder)----(JAVA版)
- UITableViewRowAction -- UITableView的一些小技巧
- UIResponder简介
- 在UITableView的Section Footer添加按钮
- Android异步处理三:Handler+Looper+MessageQueue深入详解
- Android异步处理二:使用AsyncTask异步更新UI界面
- 让UITableView的section header view不悬停,让UITableView的section headerview取消粘性
- iOS开发系列--UITableView全面解析
- Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
- 精确获取时间(QueryPerformanceCounter)