当我们因为一些需求将UITextView当成UILabel使用(为了使用UITextView自带的复制,粘贴,选择功能),这时我们只需要禁用UITextView的几个属性就行了
- textView.editable = NO;//不可编辑
- textView.scrollEnabled = NO;//不可滚动
这样就ok;
但是当我们在实际运用时,想计算文字的大小并设置UITextView的显示大小
- UIFont *font = [UIFont systemFontOfSize:14.0f]; //指定字符串的大小
- [textView setText:content];
- CGSize textSize = [content sizeWithFont:font constrainedToSize:CGSizeMake(200, 2000) lineBreakMode:UILineBreakModeCharacterWrap];
- CGRect articleframe = [articleLabel frame];
- textView.size.height = textSize.height ;
- textView.size.width = textSize.width;
- [textView setFrame:articleframe];
但是通过这种方法在UILabel上使用没有任何问题,但是在UITextView是却不行,文字总是显示不全,不管你主动写多了高度给它,当文字不一样了双会显示不全或显示高度过多;
可以用下面的方法试一下
- [self.articleLabel setContentInset:UIEdgeInsetsMake(-10, -5, -15, -5)];//设置UITextView的内边距
- [self.articleLabel setTextAlignment:NSTextAlignmentLeft];//并设置左对齐