随着行数的增加,我UITextView
试图调整其高度。除了这个,我需要调整UIView
其中UITextView
包含的大小。我为此使用以下代码:
-(void) textViewDidChange:(UITextView *)textView{
CGFloat before = textView.frame.size.height; CGRect frame = textView.frame; frame.size = textView.contentSize; CGFloat after = frame.size.height, diff = after - before, final = 0; if (diff>16) { final = 8; }else if(diff<-1){ final = -16; }else{ final = 0; } [self.containerView setFrame: CGRectMake(self.containerView.frame.origin.x,
self.containerView.frame.origin.y-final, self.containerView.frame.size.width, frame.size.height+13)];
[textView setFrame: frame];
}
我还试图在文本更改时更改容器的 Y 位置。我根据字体大小使用静态数值以避免并发症。
但问题是,每当UITextView
进入新行时,它都会将其大小调整contentSize
为原始大小,因此框架UITextView
也会缩小一会儿,看起来非常难看。此外,Y 位置取决于此contentSize
更改,当自动调整大小发生时,它会变得一团糟。
我正在寻找与 whatsapp 或 viber 等应用程序相同的行为。知道如何实现这一目标吗?