textview显示文字不全问题

由于textview带有超链接,拨打电话,以及识别邮箱功能,还有长按复制等,所以有些时候需要用textview显示文字,自己定义的识别这些的lable不一定比textview好用,

CGRect rect = [eventComment.tContent boundingRectWithSize:CGSizeMake(gScreenWidth -  self.tNameFrame.origin.x - MHEventCellImageMargin, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:Font(16)} context:nil];

但是遇到了非常棘手的问题,比如在特定宽度下,有些文字折行到最后一行后,恰恰剩了一个字,那么这个字就被忽略了,如果按这个测量出来的高度赋值给lable就不会出问题,

话不多说,上代码:

/**

 *  计算出合理的高度

 */

- (float) heightForString:(NSString *)value fontSize:(float)fontSize andWidth:(float)width

{

    UITextView *detailTextView = [[UITextView alloc]initWithFrame:CGRectMake(0, 0, width, 0)];

    detailTextView.font = [UIFont systemFontOfSize:fontSize];

    detailTextView.text = value;

    CGSize deSize = [detailTextView sizeThatFits:CGSizeMake(width,CGFLOAT_MAX)];

    return deSize.height;

}

这个方法出处是csdn,stackoverflow也有类似

 

转载于:https://www.cnblogs.com/daaiwusehng/p/4935012.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值