zoukankan      html  css  js  c++  java
  • iOS开发-UITextView根据内容自适应高度

    UITextView作为内容文本输入区域,有的时候我们需要根据内容动态改变文本区域的高度,效果如下:

    定义UITextView,实现UITextViewDelegate:

    -(UITextView *)textView{
        if (!_textView) {
            //http://www.cnblogs.com/xiaofeixiang/
            _textView=[[UITextView alloc]initWithFrame:CGRectMake(30, 200, CGRectGetWidth([[UIScreen mainScreen] bounds])-60, 30)];
            [_textView setTextColor:[UIColor redColor]];
            [_textView.layer setBorderColor:[[UIColor blackColor] CGColor]];
            [_textView setFont:[UIFont systemFontOfSize:15]];
            [_textView.layer setBorderWidth:1.0f];
            [_textView setDelegate:self];
        }
        return _textView;
    }
    

    实现textViewDidChange方法:

    -(void)textViewDidChange:(UITextView *)textView{
        //博客园-FlyElephant
        static CGFloat maxHeight =60.0f;
        CGRect frame = textView.frame;
        CGSize constraintSize = CGSizeMake(frame.size.width, MAXFLOAT);
        CGSize size = [textView sizeThatFits:constraintSize];
        if (size.height<=frame.size.height) {
            size.height=frame.size.height;
        }else{
            if (size.height >= maxHeight)
            {
                size.height = maxHeight;
                textView.scrollEnabled = YES;   // 允许滚动
            }
            else
            {
                textView.scrollEnabled = NO;    // 不允许滚动
            }
        }
        textView.frame = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, size.height);
    }
  • 相关阅读:
    JS-常用的数据结构之线性表
    Django 数据库增删改查
    Django 静态文件配置及request初识
    Django 基础
    jQuery
    前端之BOM和DOM
    前端js
    前端 css
    前端基础 html
    进度条
  • 原文地址:https://www.cnblogs.com/xiaofeixiang/p/5148380.html
Copyright © 2011-2022 走看看