码迷,mamicode.com
首页 > 其他好文 > 详细

UITextField,UITextView,UILabel 根据内容来计算高度

时间:2015-01-19 19:11:33      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:ios   textview   uilabel   uitextfield   

在开发的过程中,常常遇到根据内容来决定控件的高度的情况,常见的就是UITextField,UITextView,UILabel这三个控件,下面一UITextView 为例来说明一下:

首先新新建一个textView. 设施text,font

 UITextView *textView = [[UITextView alloc] init];

    textView.text = @"2015-01-19 14:07:47.290 MicroPort[3047:103721] -[PPRevealSideViewController gestureRecognizerDidTap:] [Line 1463] Yes, the tap gesture is animated, this is normal, not a bug! Is there anybody here with a non animate interface? :P";

    textView.font = [UIFont systemFontOfSize:14];

  float width =200;

 float height =[self heightForString:textView.text fontSize:14 andWidth:width];

 textView.frame = CGRectmake(0,0,width,height);

    [self.view addSubview:textView];



计算textview高度的方法

- (float)heightForString:(NSString *)value fontSize:(float)fontSize andWidth:(float)width//根据字符串的的长度来计算UITextView的高度
{
   
float height = [[NSStringstringWithFormat:@"%@\n ",value] boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeadingattributes:[NSDictionarydictionaryWithObjectsAndKeys:[UIFontsystemFontOfSize:fontSize],NSFontAttributeName, nil] context:nil].size.height;
   
   
return height;
   
}

一般情况下常见的需求这个方法都能够满足

UITextField,UITextView,UILabel 根据内容来计算高度

标签:ios   textview   uilabel   uitextfield   

原文地址:http://blog.csdn.net/hanhailong18/article/details/42875799

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!