我正在尝试创建一个自定义NavigationViewController
的导航栏,其中导航栏是顶部的可滑动栏,用于控制转换(想想UITabBarController
但使用滑动手势而不是按钮)。这是一个快速模型。我为粗鲁道歉
我将标题栏设置为 ScrollView。我已经能够使用该scrollViewDidScroll
方法成功检测到滚动量。所以我已经安装了标题栏部分。我现在需要在scrollViewDidScroll
方法中实现过渡运动。
我已经查阅了有关如何将视图控制器相互嵌入的Apple 文档,但它并没有真正帮助解释如何做到这一点。文档提到调用该addChildViewController:
方法和一堆其他方法,如果我想让 viewController 立即消失并重新出现,这些方法都很好,但在这种情况下,我发现很难以交互方式进行操作。
我是否要创建当前 VC 的快照然后移动它?但那我到底在移动什么?例如,在图片中,我是否将整个 RedVC 向左移动?但是,如果 BlueVC 从框架外开始移动,我如何获得它的快照呢?如果我想在 BlueVC 中异步加载图像怎么办?在 BlueVC 卡到位之前,我是否必须使用带有占位符的占位符快照?
这一切都变得如此复杂......我已经单独完成了这样的事情(快照、自定义 VC 转换等),但在这样的情况下将它们全部组合起来我还不够舒服。我敢肯定,只要有足够的时间,我就能搞定一些方法,但我想了解什么是最好、最干净的方法。
我很感激任何帮助!谢谢。
接受@MilanNosáľ 的回答后编辑:
我最终使用了这个 repo中链接的他的框架。它还不是交互式的,但我可以使用他们为我所做的非常慷慨的事情来弄清楚其余的部分。我希望我可以在这里发布完整的代码,但这不是很实用。对于未来的 SO 旅行者,回购将无限期地保留。