zoukankan      html  css  js  c++  java
  • iOS Dev (59) 高度自适应的UITextView

    iOS Dev (59) 高度自适应的UITextView

    作者:阿锐 地址:http://blog.csdn.net/prevention

    -

    例如以下 _inputTextView 为一个 UITextView 实例。首先要设置它的 delegate。然后要在你的头文件的 interface 声明中加上 UITextViewDelegate。

    _inputTextView.delegate = self;
    

    在 implementation 中实现例如以下方法:

    - (void)textViewDidChange:(UITextView *)textView
    {
        // 获取原来的 frame
        CGRect tmpRect = _inputTextView.frame;
    
        CGSize size = [_inputTextView.text sizeWithFont:[UIFont systemFontOfSize:_inputTextFontSize]
                                   constrainedToSize:CGSizeMake(YOUR_TEXTVIEW_WIDTH, 2000)
                                       lineBreakMode:NSLineBreakByWordWrapping];
    
        tmpRect.size.height = size.height + 20; // 20 points for padding
        tmpRect.origin.y = keyboardPositionY - tmpRect.size.height;
    
        _inputTextView.frame = tmpRect;
        _inputTextView.text = _inputTextView.text;
    }
    
    • 注意上面的 YOUR_TEXTVIEW_WIDTH 是你的 UITextView 的宽度。

    • 注意 lineBreakMode 选 NSLineBreakByWordWrapping。比較老的版本号中是 UILineBreakModeWordWrap。
    • size.height + 20 中的 20 是我留出来的 padding。
    • _inputTextFontSize 是你设置的字号高度
    • 这批那文章来自 blog.csdn.net/prevention 。转载请注明。

    -

    转载请注明来自:http://blog.csdn.net/prevention

  • 相关阅读:
    python-configparser模块,xml.etree模块
    Ubuntu16.04环境下Vim 配置 for HTML,CSS,JAVASCRIPT(1)
    Windows 命令行及Git操作
    Ubuntu16.04 无任务栏问题
    ubuntu16.04安装中文输入法
    本地Web服务器搭建
    爬虫(1)
    Python(四):数字连珠2
    python学习(四)五数连珠
    Openjudge 百练第4109题
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5053764.html
Copyright © 2011-2022 走看看