我有一个静态UITableView,其中一行内部有一个UITextView,自动布局从上到下从左到右固定为0.
我希望UITableView的contentView根据UITextView的内容调整大小,但是我在解决这个问题时遇到了困难。我已经废弃了我最初使用的代码,因为它根本不工作。任何解决方案?
答案 0 :(得分:3)
如果textview的内容是静态的。 在UITextView中将SrollingEnabled设置为false。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 200
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
如果textview的内容是动态的。
执行与static相同的操作,并将UITextView的委托设置为self。然后在UITextview委托中。
func textViewDidChange(_ textView: UITextView) {
tableView.beginUpdates()
tableView.endUpdates()
}
这肯定会奏效。