这里使用的sizeThatFits方法,属于Auto Layout中的一个方法
-(void)textViewDidChange:(UITextView*)textView {//获得textView的初始尺寸 CGFloatwidth =CGRectGetWidth(textView.frame); CGFloatheight =CGRectGetHeight(textView.frame); CGSizenewSize = [textViewsizeThatFits:CGSizeMake(width,MAXFLOAT)]; CGRectnewFrame = textView.frame; newFrame.size=CGSizeMake(fmax(width, newSize.width), fmax(height, newSize.height)); textView.frame= newFrame; }
但是目前还有一个bug就是在文字换行的时候,文字整体会上移然后回落,体验特别差,因为textView继承于scrollView所以需要禁用滚动即将scrollEnable设置为NO即可。