自动调整UITextView/UILabel的高度height

转载 2013年12月05日 16:29:40

转载自:http://chinaxxren.iteye.com/blog/1621406


CGRect frame = noteTextView.frame;
frame.size.height = noteTextView.contentSize.height;
noteTextView.frame = frame;
这个方法太方便啦!



(转自) http://tangchuanyao.com/20120507760/ | 一路向前

很多时候都需要依据用户输入的内容自动调整UILabel/UITextView的高度和宽度,特别是UINavigationController的标题,超过一行的时候默认就是「…」我们希望他能换行表示,这样就需要根据内容调整titleView的高度啦。直接贴sample代码,高度和宽度可以根据自己的需要调整。

UILabel Sample code

?
1
2
3
4
5
6
7
CGRect frame = CGRectMake(20, 0, 280,44);
CGSize labelsize = [titleLabel.text sizeWithFont:[UIFont boldSystemFontOfSize: 16.0f]
                   constrainedToSize:CGSizeMake(320, 44)
                       lineBreakMode:UILineBreakModeTailTruncation];
frame.size.width = labelsize.width;
frame.size.height = labelsize.height;
titleLabel.frame = frame;

UITextView Sample code

?
1
2
3
4
5
6
CGRect frame = noteTextView.frame;
CGSize size = [noteTextView.text sizeWithFont:noteTextView.font
                        constrainedToSize:CGSizeMake(280, 1000)
                            lineBreakMode:UILineBreakModeTailTruncation];
frame.size.height = size.height > 1 ? size.height + 20 : 64;
noteTextView.frame = frame;

UITextView是UIScrollView的子类,因此有contentSize属性,也可以按如下实现

?
1
2
3
CGRect frame = noteTextView.frame;
frame.size.height = noteTextView.contentSize.height;
noteTextView.frame = frame;

UITextView根据内容自动改变frame

注意点: 在textview中计算string占据的高度不能使用[NSStringsizeWithFont:constrainedToSize:],因为textView显示文字有自己的样式,在上下左...
  • clwahaha
  • clwahaha
  • 2013年03月08日 15:27
  • 2393

iOS UITextView 高度随文字自动增加,并跟随键盘移动(二)

接着上节我们来实现 输入框自动调节高度 首先,我们得知道,要判断是否该换行了 前提是得知道 一行可以输入多少文字, 我们很容易能知道我们输入框的宽度,那么下来只要知道每个文字的宽度就可以计算一行文字的...
  • lwjok2007
  • lwjok2007
  • 2015年08月10日 20:26
  • 7150

UILabel 高度的自适应与获取

最近需要做一个自定义UILabelView列表, UILabelView 的Cell中有字符长度不确定的UILabel标签。只有获取了这个标签的高度,我们才能确定Cell的高度。 通过查询资料,找...
  • qq_28766327
  • qq_28766327
  • 2016年06月08日 20:48
  • 656

UILabel 高度或宽度一定 修改另一方

1、UILabel宽度不变,根据字体多少,自动调整UILabel的高度,并折行显示。     UILabel *label = [[UILabel alloc] initWithFrame...
  • x1198928367
  • x1198928367
  • 2016年06月28日 11:06
  • 927

使用storyboard设置label的自适应高度

Using Interface Builder Set up four constraints. The height constraint is mandatory. Then go to t...
  • u013921981
  • u013921981
  • 2014年06月12日 17:54
  • 2453

UILabel的高度(height)自适应文字内容(text)

方法一 首先计算出字符串在已知宽度的View中的size,然后改变View的size就可以。 示例代码如下: #define IOS7_OR_LATER ( [[[UIDevice curr...
  • u011439689
  • u011439689
  • 2015年01月12日 15:11
  • 1863

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

在开发的过程中,常常遇到根据内容来决定控件的高度的情况,常见的就是UITextField,UITextView,UILabel这三个控件,下面一UITextView 为例来说明一下: 首先新新建一个...
  • HHL110120
  • HHL110120
  • 2015年01月19日 17:20
  • 2534

UITextField、UILabel和 UITextView四个容易混淆的属性

四个容易混淆的属性: 1. textAligment : 文字的水平方向的对齐方式 a) 取值 NSTextAlignmentLeft      = 0,    // 左对齐 NSTextAl...
  • LVXIANGAN
  • LVXIANGAN
  • 2015年07月18日 11:30
  • 1488

动态计算UILabel的高度,宽度,自动换行

// // ViewController.m // Company_Code_动态计算字体高度和宽度 // // Created by 麦子 on 15/8/17. // Copyright ...
  • qiuyinthree
  • qiuyinthree
  • 2015年08月17日 21:52
  • 1272

UILabel&UITextView文本嵌入图片处理

NSTextAttachment objects are used by the NSAttributedString class cluster as the values for attachme...
  • u014084081
  • u014084081
  • 2016年12月13日 15:10
  • 659
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自动调整UITextView/UILabel的高度height
举报原因:
原因补充:

(最多只允许输入30个字)