uitextview根据内容算高度
2013-09-25 14:23 甘超波 阅读(10155) 评论(0) 编辑 收藏 举报注意点:
在textview中计算string占据的高度不能使用[NSStringsizeWithFont:constrainedToSize:],因为textView显示文字有自己的样式,在上下左右都有一定的偏移,所以先设置textView.text属性,然后调用[UITextView sizeThatFits:(CGSize)size] 此函数返回的size就是在textview中text显示的区域大小。
- - (void)textViewDidChange:(UITextView *)textView
- {
- [textView flashScrollIndicators]; // 闪动滚动条
- static CGFloat maxHeight = 130.0f;
- CGRect frame = textView.frame;
- CGSize constraintSize = CGSizeMake(frame.size.width, MAXFLOAT);
- CGSize size = [textView sizeThatFits:constraintSize];
- if (size.height >= maxHeight)
- {
- size.height = maxHeight;
- textView.scrollEnabled = YES; // 允许滚动
- }
- else
- {
- textView.scrollEnabled = NO; // 不允许滚动,当textview的大小足以容纳它的text的时候,需要设置scrollEnabed为NO,否则会出现光标乱滚动的情况
- }
- textView.frame = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, size.height);
- }
目前我正在专注NLP,请立刻加微信/QQ号 546611623, 免费送你原创《NLP高级执行师》高清视频