Swift 展开UITextView,然后在特定点后滚动
我一直在努力创造这个,我在这里读了很多帖子,但不明白我做错了什么 我有一个Swift 展开UITextView,然后在特定点后滚动,swift,autolayout,uitextview,uitextviewdelegate,cgsize,Swift,Autolayout,Uitextview,Uitextviewdelegate,Cgsize,我一直在努力创造这个,我在这里读了很多帖子,但不明白我做错了什么 我有一个UITextView 我希望它在高度上扩展到一个数字,然后在启用滚动的情况下固定在该高度 我已设置了我的UITextFieldDelegate,并添加了以下内容- func textViewDidChange(\utextView:UITextView){ 让newSize=textView.sizeThatFits(CGSize(宽度:0,高度:CGFloat.GreatestFiniteMagnite)) textVi
UITextView
我希望它在高度上扩展到一个数字,然后在启用滚动的情况下固定在该高度
我已设置了我的UITextFieldDelegate
,并添加了以下内容-
func textViewDidChange(\utextView:UITextView){
让newSize=textView.sizeThatFits(CGSize(宽度:0,高度:CGFloat.GreatestFiniteMagnite))
textView.frame.size=CGSize(宽度:0,高度:min(100,newSize.height))
}
这样做可以让公司保持增长
我现在希望它停止并滚动,例如,高度为100
func textViewDidChange(\utextView:UITextView){
让newSize=textView.sizeThatFits(CGSize(宽度:0,高度:CGFloat.GreatestFiniteMagnite))
设newHeight=min(100,newSize.height)
textView.frame.size=CGSize(宽度:0,高度:newHeight)
textView.IsCrollenabled=newHeight>=100
}
此时发生的所有情况是,当IsCrollenabled
设置为true
时,滚动视图缩小
我的文本视图仅锚定到其父级的顶部
、前导
和尾随
启用滚动后,如何强制它不折叠
编辑
我添加了以下内容,但在固定高度状态下输入任何内容时,文本似乎会“摆动”
func textViewDidChange(\utextView:UITextView){
让newSize=textView.sizeThatFits(CGSize(宽度:0,高度:CGFloat.GreatestFiniteMagnite))
设newHeight=min(100,newSize.height)
textView.frame.size=CGSize(宽度:0,高度:newHeight)
如果newHeight>=100{
textView.IsCrollenabled=true
textView.heightAnchor.constraint(equalToConstant:100).isActive=true
}否则{
textView.IsCrollenabled=false
textView.heightAnchor.constraint(equalToConstant:100).isActive=false
}
}
最好设置一个默认的高度约束,连接插座并使用其常量
self.txH.constant = newHeight
self.view.layoutIfNeeded()