label 高度自适应
来源:互联网 发布:图片解压软件 编辑:程序博客网 时间:2024/04/30 03:56
//获取 label 高度
-(CGFloat)sizetofit:(NSString *)text
{
float dev=[[[UIDevice currentDevice]systemVersion]floatValue];
if (dev>=7.0) {
NSDictionary *dict=@{
NSFontAttributeName: [UIFont systemFontOfSize:12.0f]
};
CGRect frame=[text boundingRectWithSize:CGSizeMake(300, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine attributes:dict context:nil];
return frame.size.height;
}else{
CGSize size=[text sizeWithFont:[UIFont systemFontOfSize:12.0f] constrainedToSize:CGSizeMake(300, CGFLOAT_MAX) lineBreakMode:NSLineBreakByCharWrapping];
return size.height;
}
}
-(CGFloat)heightForString:(NSString *)string fontSize:(float)fontSize andWidth:(float)width
{
if (string==nil) {
return 0;
}
float dev=[[[UIDevice currentDevice]systemVersion]floatValue];
if (dev>=7.0) {
if ((NSNull *)string == [NSNull null]) {
return 0;
}
if (string!=nil && string.length>1) {
UIFont * tfont = [UIFont systemFontOfSize:fontSize];
CGSize size = CGSizeMake(width,CGFLOAT_MAX);
NSDictionary * tdic = [NSDictionary dictionaryWithObjectsAndKeys:tfont,NSFontAttributeName,nil];
CGSize actualsize =[string boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading attributes:tdic context:nil].size;
return actualsize.height;
}
return 0;
}
else {
if (string!=nil && string.length>1) {
CGSize sizeToFit = [string sizeWithFont:[UIFont systemFontOfSize:fontSize] constrainedToSize:CGSizeMake(width, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping];//此处的换行类型(lineBreakMode)可根据自己的实际情况进行设置
return sizeToFit.height;
}
return 0;
}
}
这两段代码都可以,还需设置下label的 numberofline= 0 breakMode 以及 重新设置label.frame 如果在tableview上要重新设置cell的高度.
-(CGFloat)sizetofit:(NSString *)text
{
float dev=[[[UIDevice currentDevice]systemVersion]floatValue];
if (dev>=7.0) {
NSDictionary *dict=@{
NSFontAttributeName: [UIFont systemFontOfSize:12.0f]
};
CGRect frame=[text boundingRectWithSize:CGSizeMake(300, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine attributes:dict context:nil];
return frame.size.height;
}else{
CGSize size=[text sizeWithFont:[UIFont systemFontOfSize:12.0f] constrainedToSize:CGSizeMake(300, CGFLOAT_MAX) lineBreakMode:NSLineBreakByCharWrapping];
return size.height;
}
}
-(CGFloat)heightForString:(NSString *)string fontSize:(float)fontSize andWidth:(float)width
{
if (string==nil) {
return 0;
}
float dev=[[[UIDevice currentDevice]systemVersion]floatValue];
if (dev>=7.0) {
if ((NSNull *)string == [NSNull null]) {
return 0;
}
if (string!=nil && string.length>1) {
UIFont * tfont = [UIFont systemFontOfSize:fontSize];
CGSize size = CGSizeMake(width,CGFLOAT_MAX);
NSDictionary * tdic = [NSDictionary dictionaryWithObjectsAndKeys:tfont,NSFontAttributeName,nil];
CGSize actualsize =[string boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading attributes:tdic context:nil].size;
return actualsize.height;
}
return 0;
}
else {
if (string!=nil && string.length>1) {
CGSize sizeToFit = [string sizeWithFont:[UIFont systemFontOfSize:fontSize] constrainedToSize:CGSizeMake(width, CGFLOAT_MAX) lineBreakMode:NSLineBreakByWordWrapping];//此处的换行类型(lineBreakMode)可根据自己的实际情况进行设置
return sizeToFit.height;
}
return 0;
}
}
这两段代码都可以,还需设置下label的 numberofline= 0 breakMode 以及 重新设置label.frame 如果在tableview上要重新设置cell的高度.
0 0
- IOS Label 自适应高度
- label高度自适应..
- label 高度自适应
- iOS 自适应label高度
- label 自适应高度
- iOS label自适应高度
- [TwistedFate]Label自适应高度
- ios9 label 高度自适应
- ios Label高度自适应
- iOS label自适应高度
- iOS label自适应高度
- label自适应高度
- UITableViewCell高度自适应Label高度
- label自适应高度 与 textview自适应高度
- IOS7 label 宽度高度自适应
- label自适应宽度和高度
- iOS label自适应高度(宽度)
- iOS Label文本自适应高度
- OOP已死,AOP为未来而生(.net+java)
- left join
- Photoshop CS6基本知识1
- ipcs 共享内存导致服务器死机、服务无法启动处理
- CSU 1102 图形匹配
- label 高度自适应
- 查看mosquitto链接数量
- 懒惰也会使人累
- TCP-IP协议详解(6) 瑞士军刀 (ICMP协议)
- keepalived高可用集群介绍
- magento 1.71 执行过程 index.php 分析
- ubuntu12.04 安装配置jdk1.7
- HibernateTemplate 的常见用法
- left join