Swift - 使用UITextView增长的静态UITableView

时间:2017-12-12 03:02:06

标签: ios swift uitableview uitextview

我有一个静态UITableView,其中一行内部有一个UITextView,自动布局从上到下从左到右固定为0.

我希望UITableView的contentView根据UITextView的内容调整大小,但是我在解决这个问题时遇到了困难。我已经废弃了我最初使用的代码,因为它根本不工作。任何解决方案?

1 个答案:

答案 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()
}

这肯定会奏效。