大家好,又见面了,我是全栈君。
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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116645.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...