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也有类似

 

posted on 2015-11-04 09:17  大爱无声  阅读(1396)  评论(0编辑  收藏  举报

导航