gpt4 book ai didi

ios - UITableView reloadSections 不会触发viewForFooterInSection?

转载 作者:搜寻专家 更新时间:2023-11-01 07:15:04 24 4
gpt4 key购买 nike

我正在尝试构建一个类似于 iOS 原生提醒应用的应用。哪里有带有页眉和页脚的项目列表。每个单元格都包含一个 UITextView,它会在用户键入时动态更改单元格高度。页脚 View 包含相同的单元格 View ,除了我希望它是一个页脚,这样它就会粘在底部 View 上。我将单元格设置为动态高度。

checklistTable.rowHeight = UITableViewAutomaticDimension
checklistTable.estimatedRowHeight = 60

checklistTable.sectionFooterHeight = UITableViewAutomaticDimension
checklistTable.estimatedSectionFooterHeight = 60

这是在输入时更新单元格高度的逻辑,这对常规单元格非常有效,但不适用于页脚 View 。我设置了一个断点viewForFooterInSection,它在初始加载后从未被调用。

func textViewDidChange(_ textView: UITextView) {

let startHeight = textView.frame.size.height
let calcHeight = textView.sizeThatFits(textView.frame.size).height

if startHeight != calcHeight {
UIView.setAnimationsEnabled(false)
tableView?.beginUpdates()

if cellType == .footer {
tableView?.reloadSections(IndexSet(integer: 0), with: .automatic)
}

tableView?.endUpdates()
UIView.setAnimationsEnabled(true)
}
}

谁能指出我正确的方向?谢谢

最佳答案

UIView 上启用和禁用动画并同时调用 tableView?.beginUpdates() 看起来模棱两可
简单地说,调用 reloadSections 应该可以工作,例如:

if startHeight != calcHeight {

if cellType == .footer {
tableView?.reloadSections(IndexSet(integer: 0), with: .automatic)
}
}

关于ios - UITableView reloadSections 不会触发viewForFooterInSection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42566959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com