我正在使用此代码制作具有自动调整大小的动态UITextView
- (void)textViewDidChange:(UITextView *)txtView
{
CGRect frame;
frame = txtView.frame;
frame.size.height = [textView contentSize].height;
textView.frame = frame;
}
代码很好,但是当我按下键盘上的“返回”(断行)时,我需要textView向上移动方向而不是像现在一样向下移动。
我尝试用“CGRectGetMaxY(textView.frame)”做一些事情,因为我知道textView的底部需要保持原样而不是改变,但我找不到正确的方法。
这个textView用于聊天消息的输出,所以如果用户写的东西很长,那么textView需要长大,因为键盘是吼叫的
答案 0 :(得分:5)
这应该可以解决问题:
- (void)textViewDidChange:(UITextView *)textView
{
CGRect frame = textView.frame;
frame.origin.y = CGRectGetMaxY(frame) - [textView contentSize].height;
frame.size.height = [textView contentSize].height;
textView.frame = frame;
}