Ios 使用Swift隐藏取消隐藏静态表格视图单元格
我试图用一些可扩展和可折叠的单元格创建一个“静态表”。我重写了“”:WithAnimation:)“”,它应该为我提供一些对动画转换的控制。不幸的是,返回的单元格是空白的,我不是说空的,但是单元格已经消失了,它们的位置留在了表格中的blanc。当我尝试使用''reloadSections()''时,整个部分也返回空白。经过一番重新整理,我开始怀疑“重新加载rowatindexpath”(: WithAnimation:)''和''reloadSections()''使用与数据源关联的表。 我说得对吗?如果是,如何控制要隐藏/取消隐藏的单元的动画,以便平滑过渡?Ios 使用Swift隐藏取消隐藏静态表格视图单元格,ios,uitableview,swift2,Ios,Uitableview,Swift2,我试图用一些可扩展和可折叠的单元格创建一个“静态表”。我重写了“”:WithAnimation:)“”,它应该为我提供一些对动画转换的控制。不幸的是,返回的单元格是空白的,我不是说空的,但是单元格已经消失了,它们的位置留在了表格中的blanc。当我尝试使用''reloadSections()''时,整个部分也返回空白。经过一番重新整理,我开始怀疑“重新加载rowatindexpath”(: WithAnimation:)''和''reloadSections()''使用与数据源关联的表。 我说
谢谢(已编辑)要获得平滑的动画,只需使用
tableView.beginUpdates()
tableView.endUpdates()
这将自动调用heightForRowAtIndexPath并渲染平滑过渡 要获得平滑的动画,只需使用
tableView.beginUpdates()
tableView.endUpdates()
这将自动调用heightForRowAtIndexPath并渲染平滑过渡 来扩展irkinosor的答案。在本例中,我有一个包含3个静态行的部分。最初加载tableView时,我的UI开关处于关闭状态,我只希望第一行(第0行)可见(隐藏第1、2行)。当UISwitch打开时,我想显示(第1、2行)。此外,我希望平滑动画有行手风琴隐藏或显示
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row > 0 && toggleSwitch.isOn == false {
return 0.0 // collapsed
}
// expanded with row height of parent
return super.tableView(tableView, heightForRowAt: indexPath)
}
在切换操作中,我启动tableView刷新
@IBAction func reminderSwitch(_ sender: UISwitch) {
// to initiate smooth animation
tableView.beginUpdates()
tableView.endUpdates()
}
如果您有多个部分和更有趣的行要求,显然可以为heightForRowAt函数添加更多逻辑。来扩展irkinosor的答案。在本例中,我有一个包含3个静态行的部分。最初加载tableView时,我的UI开关处于关闭状态,我只希望第一行(第0行)可见(隐藏第1、2行)。当UISwitch打开时,我想显示(第1、2行)。此外,我希望平滑动画有行手风琴隐藏或显示
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row > 0 && toggleSwitch.isOn == false {
return 0.0 // collapsed
}
// expanded with row height of parent
return super.tableView(tableView, heightForRowAt: indexPath)
}
在切换操作中,我启动tableView刷新
@IBAction func reminderSwitch(_ sender: UISwitch) {
// to initiate smooth animation
tableView.beginUpdates()
tableView.endUpdates()
}
如果有多个部分和更有趣的行要求,显然可以为heightForRowAt函数添加更多逻辑。如何隐藏单元格?我们不能太多地使用静态表视图,相反,我建议您使用prototype table view,然后您可以使用deleteRowsAtIndexPaths和insertRowsAtIndexPaths以及所需的动画。谢谢,但我必须使用静态表来实现我的应用程序。您可以提供用于隐藏和显示单元格的代码吗?您可以找到此问题的完整答案这里:您将如何隐藏手机?我们不能太多地使用静态表视图,相反,我建议您使用prototype table view,然后您可以使用deleteRowsAtIndexPaths和insertRowsAtIndexPaths以及所需的动画。谢谢,但我必须使用静态表来实现我的应用程序。您可以提供用于隐藏和显示单元格的代码吗?您可以找到此问题的完整答案在这里: