在自调整大小的UITableViewCell中隐藏/取消隐藏视图,可以通过以下步骤实现:
以下是一个示例代码:
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var hiddenView: UIView!
func configureCell(isHidden: Bool) {
hiddenView.isHidden = isHidden
}
}
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
var data: [Bool] = [true, false, true, false] // 根据需要隐藏/取消隐藏的视图的条件
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.delegate = self
tableView.rowHeight = UITableView.automaticDimension
tableView.estimatedRowHeight = 100
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CustomTableViewCell", for: indexPath) as! CustomTableViewCell
cell.configureCell(isHidden: data[indexPath.row])
return cell
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
}
在上述示例中,CustomTableViewCell是自定义的UITableViewCell,其中包含一个需要隐藏/取消隐藏的hiddenView。在tableView(:cellForRowAt:)方法中,根据data数组中的条件来设置hiddenView的隐藏状态。通过设置tableView的rowHeight为UITableView.automaticDimension,并实现tableView(:estimatedHeightForRowAt:)和tableView(_:heightForRowAt:)方法,可以实现自动调整UITableViewCell的高度。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。
领取专属 10元无门槛券
手把手带您无忧上云