zoukankan      html  css  js  c++  java
  • 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不能自适应高度
  • 相关阅读:
    一个有关Golang Deferred Function 执行顺序的问题
    Golang闭包的坑
    Golang new() vs make()
    修改linux文件的mtime
    Golang通过反射获取结构体的标签
    rpm --qf 命令
    elasticsearch 5.1 认证过期 (your license has expired)
    Heka GeoIpDecoder 配置
    Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer
    github.com/oschwald/maxminddb-golang 安装报错
  • 原文地址:https://www.cnblogs.com/benbenzhu/p/3095289.html
Copyright © 2011-2022 走看看