gpt4 book ai didi

ios - 使用 reloadData 的最后一节未调用 viewForFooterInSection

转载 作者:行者123 更新时间:2023-11-28 08:02:54 27 4
gpt4 key购买 nike

我想使用 reloadData 刷新部分页脚,但现在除了最后一个部分之外的所有部分都已更新 - 即使页脚可见,也不会调用 viewForFooterInSection。 ScrollView 是为最后一节调用 viewForFooterInSection 的唯一方法。这种行为的原因可能是什么?我正在使用自动布局。

编辑:实现 heightForFooterInSection 以支持不同的页脚高度,但也许应该只返回 AutomaticDimension 并且逻辑应该放在其他地方?

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
switch(tableView) {
case self.firstTableView:
let item = self.firstItems[section]
let shouldShowFirstButton = myModel.hasActions(item)
let shouldShowSecondButton = myModel.hasOtherActions(item)
if shouldShowFirstButton && shouldShowSecondButton {
return FirstFooterView.heightForTwoButtons()
} else if shouldShowFirstButton ||shouldShowSecondButton{
return FirstFooterView.heightForOneButton()
} else {
return OtherFooterView.height()
}
case self.secondTableView:
return 0.0
case self.thirdTableView:
if self.state1 {
return 70.0
} else if selectedItem == nil {
return 0.0
}else{
return 0.0
}
default:
DDLogInfo("height 0 for section \(section)")
return 1.0
}

最佳答案

 UiView.setAnimationsEnabled(False)
self.TableView.reloadSections(NSIndexSet(index: yoursection),
withRowAnimation: UITableViewRowAnimation.None)
self.TableView.scrollToRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 5),
atScrollPosition: UITableViewScrollPosition.Bottom, animated: false)
UIView.setAnimationsEnabled(true)

使用它您可以重新加载您想要重新加载的特定部分。希望对你有帮助

编辑:如果你想滚动到特定位置

  self.TableView.scrollRectToVisible(<#T##rect: CGRect##CGRect#>, animated: <#T##Bool#>)

关于ios - 使用 reloadData 的最后一节未调用 viewForFooterInSection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46114123/

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