我正在制作一个应用程序,其中1个屏幕具有3段的分段控制。最初我有1个表视图,当你改变段时,我只是简单地改变数据源/单元格等,并重新加载表。虽然这很好,但总是存在这样的问题,即当您更改段时,它将不会记住您的上一个滚动位置,因为表视图会重新加载。如何在使用多个容器视图时处理iOS 11大标题动画?
我试图解决这个与存储偏移位置,行等,但我永远不能让它像我想要的那样工作。似乎特别烦人,当你有不同的细胞类型的细分,他们也是自我大小。
我决定有一个主视图控制器分段控制和3个容器视图与他们自己的VC和表视图为每个分段。我只是在更改段时隐藏/显示正确的容器视图。这也很好,但我有1个问题与iOS 11风格的大头。只有第一个容器视图作为子视图添加到ViewControllers视图中时,才会在滚动时操纵标题的缩放/展开。
因此,当我换到第二或第三容器视图和开始滚动我不明白的大标题合拢动画。我该如何解决这个问题?
我尝试以下
1)改变容器视图z向位置时改变段
2)通过调用view.bringSubview(toFront: ...)
3将容器视图到前)通过子视图循环并调用 view.exchangeSubview(at: 0, withSubviewAt: ...)
我相信我可以删除所有的容器视图,并添加一个我需要再给它们约束但我不知道是否有矿石直接解决方案。
或者,如果有人有一个很好的解决方案,记住一个tableViews重新加载前滚动位置,我也很感激。
你有没有做其他任何事情有从子控制器滚动视图导航控制器获取滚动事件?我目前正在尝试实现类似的东西,我有一个容器控制器来检查数据。如果没有数据,则显示一个空状态控制器,否则显示一个表控制器。导航控制器不会移动。 – Maximilian