UITextView自适应高度(很奇怪...)

做项目的时候经常遇到的一个问题就是文本高度处理,以前用的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不能自适应高度

 

 

posted @ 2013-05-23 17:50  Dadada胖纸er  阅读(574)  评论(0编辑  收藏  举报