Re: [问题] 展开tableview中cell的方法

楼主: aecho (@..@")   2020-06-03 11:00:58
※ 引述《frank61003 (驼龟)》之铭言:
: 想请问大家
: 如果想做一个类似涂鸭墙的TableView
: 现在是把每个cell设置成一则贴文的样式
: 那点击留言后弹开留言需要用什么元件写
: 因为每则贴文的留言数都不一样
: 是要在cell里面再放个完全展开且不能滑动的tableView吗
: 还是有其他元件可以达成这种元件数量未定的功能
: 谢谢大家
我实作过的一个方式,是在cell里,再塞一个客制化的UITableView。
下面这个客制的TableView, 它的intrinsicContentSize会依它的contentSize改变。
而一些教怎么动态改变高度的cell的网络文章,会说明怎么依靠intrinsicContentSize,
让UI元件自己决定它的高度(或宽度)
为了避免nested的TableView的UI行为,和外层的互相千扰,
我会视情形,让它不能接收ui event。不过这边跟美工 or PM希望怎么呈现有关系。
所以,只能视状况调整。OA
import UIKit
/**
* 这个TableView的intrinsicContentSize会跟着contentSize而改变。
*/
class BSExpandTableView: UITableView {
// See this: https://stackoverflow.com/a/48623673/419348
override var intrinsicContentSize: CGSize {
layoutIfNeeded()
return CGSize(width: UIView.noIntrinsicMetric, height: contentSize.height)
}
override var contentSize: CGSize {
didSet {
self.invalidateIntrinsicContentSize()
}
}
}

Links booklink

Contact Us: admin [ a t ] ucptt.com