【发布时间】:2017-06-25 03:40:20
【问题描述】:
在 Snapchat 等无缝滑动导航风格应用的时代,视图控制器管理似乎很重要。有些视图可能很胖,有些视图可能会填充大量数据。当构建一个在二维表面上有 5-10 个视图的 iOS 应用程序时(向左滑动查看 X,向下滑动查看 Y,再次向下滑动查看 Z,等等),什么处理这些视图控制器有一些最佳实践吗?我假设人们希望能够对这些视图中的 UI 元素进行某种关键帧动画。
我能看到的合理解决方案是:
-
将所有视图控制器添加到 2d 滚动视图并选择性地锁定滚动方向
- 优点:易于设置,易于为子视图设置关键帧动画(例如,使用 Jazzhands)
- 缺点:需要保持许多视图控制器处于活动状态,可能会很重 资源和启动时间长。
-
将视图控制器添加到 2d 滚动视图并选择性地锁定滚动方向,但仅在需要时填充它们
- 优点:可以缩短启动时间,也可以轻松设置关键帧动画
- 缺点:我们仍然需要让所有视图控制器保持活动状态
-
使用手势驱动的视图控制器演示动画
- 优点:我们只需要保持当前视图控制器及其根视图控制器处于活动状态
- 缺点:设置起来比较麻烦。更难基于滚动执行关键帧动画。呈现大视图控制器时可能会增加延迟
【问题讨论】:
标签: ios objective-c iphone uiviewcontroller uiscrollview