我有一个TextView,它具有最小高度为33的约束.从故事板中禁用滚动. TextView应根据内容增加高度,直到达到100的最大高度.然后我将scrollEnabled更改为true,将TextView的高度更改为最大高度100,但高度更改为33.如何修复这个问题?
import UIKit class ViewController: UIViewController,UITextViewDelegate { @IBOutlet weak var messageTextView: UITextView! let messageTextViewMaxHeight: CGFloat = 100 override func viewDidLoad() { super.viewDidLoad() self.messageTextView.delegate = self } func textViewDidChange(textView: UITextView) { if textView.frame.size.height >= self.messageTextViewMaxHeight { textView.scrollEnabled = true textView.frame.size.height = self.messageTextViewMaxHeight } else { textView.scrollEnabled = false } } }
解决方法
看来你的代码需要两个更改,它会正常工作.
>取代最小约束高度,提供最大高度100:
>更改代码如下:
import UIKit class ViewController: UIViewController,UITextViewDelegate { @IBOutlet weak var messageTextView: UITextView! let messageTextViewMaxHeight: CGFloat = 100 override func viewDidLoad() { super.viewDidLoad() messageTextView.delegate = self } func textViewDidChange(textView: UITextView) { if textView.contentSize.height >= self.messageTextViewMaxHeight { textView.scrollEnabled = true } else { textView.frame.size.height = textView.contentSize.height textView.scrollEnabled = false // textView.isScrollEnabled = false for swift 4.0 } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。