Ios 以动态文本视图作为子视图的滚动视图
我想在scrollView中安装textView。当用户在textView中键入时,textView应在高度上展开。在textView达到scrollView的高度之前,一切似乎都正常工作。scrollView的contentSize未更新。这是我的设置Ios 以动态文本视图作为子视图的滚动视图,ios,iphone,swift,uiscrollview,uitextview,Ios,Iphone,Swift,Uiscrollview,Uitextview,我想在scrollView中安装textView。当用户在textView中键入时,textView应在高度上展开。在textView达到scrollView的高度之前,一切似乎都正常工作。scrollView的contentSize未更新。这是我的设置 --scrollView |--contentView |--textView 约束设置如下: ScrollView-顶部、前导、尾随至superview和底部至底部布局指南 ContentView-顶部、前导、尾部、底部到su
--scrollView
|--contentView
|--textView
约束设置如下:
ScrollView-顶部、前导、尾随至superview和底部至底部布局指南
ContentView-顶部、前导、尾部、底部到superview(滚动视图)、将中心x和中心y对齐到superview(滚动视图)
TextView-顶部、前导、尾随到superview(ContentView),底部是autolayouts如何?我正在使用autolayouthow关于PureLayout?如果使用autolayout,则不需要通过编程设置滚动视图的内容大小。我理解。我尝试设置框架的唯一原因纯粹是因为scrollview的内容大小没有更新,因此我无法滚动我的视图。autolayouts如何?我正在使用autolayouthow about PureLayout?如果您使用autolayout,则无需通过编程设置scroll view的内容大小。我理解。我尝试设置框架的唯一原因纯粹是因为scrollview的内容大小没有更新,因此我无法滚动视图。
func textViewDidChange(_ textView: UITextView) {
let size = CGSize(width: textView.frame.width, height: CGFloat(MAXFLOAT))
let value = textView.sizeThatFits(size)
let newHeight = value.height + textView.frame.minY
if newHeight > scrollView.contentSize.height {
contentView.frame = CGRect(x: 0, y: 0, width: textView.frame.width, height: newHeight)
scrollView.contentSize = CGSize(width: textView.frame.width, height: value.height + textView.frame.minY)
}
}