根据文字获得高度

// 根据给定的字符串、最大值的size、给定的字体, 来计算文字应该占用的大小
- (CGSize)sizeWithText:(NSString *)text andMaxSize:(CGSize)maxSize andFont:(UIFont *)font
{
    NSDictionary *attr = @{NSFontAttributeName : font};
    return [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attr context:nil].size;

}



//   下面这个方法是我在网上找的, 更好

=============================

-(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; 


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值