做项目的时候经常遇到的一个问题就是文本高度处理,以前用的UILabel来显示文本,这样需要根据文本来计算UILabel的高度
实际上,使用UITextView来显示文本,不需要来计算文本的高度,文本即可自适应高度,而UITextView的文本自适应高度是
一个很奇怪的现象。代码如下:
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 200, 20)]; [self.view addSubview:textView];//写在这里,UITextView可以自适应高度 textView.text = @"丙烯酸是化学式为C3H4O2的有机化合物,是最简单的不饱和羧酸,由一个乙烯基和一个羧基组成。纯的丙烯酸是无色澄清液体,带有特征的刺激性气味。它可与水、醇、醚和氯仿互溶,是由从炼油厂得到的丙烯制备的。[1]"; CGSize size = textView.contentSize; textView.frame = CGRectMake(0, 0,size.width, size.height);
注意红色标记的代码的位置,这句代码如果放在这个地方,文本就能自适应高度,如果写在末尾,则不能自适应高度,取而代之
的是出现滚动条来显示文本,但是UITextView的高度不会改变,代码如下:
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 200, 20)]; // [self.view addSubview:textView]; textView.text = @"丙烯酸是化学式为C3H4O2的有机化合物,是最简单的不饱和羧酸,由一个乙烯基和一个羧基组成。纯的丙烯酸是无色澄清液体,带有特征的刺激性气味。它可与水、醇、醚和氯仿互溶,是由从炼油厂得到的丙烯制备的。[1]"; CGSize size = textView.contentSize; textView.frame = CGRectMake(0, 0,size.width, size.height); [self.view addSubview:textView];//写在这里,UITextView不能自适应高度