swift - Swift,Xcode - 哪个视图控制器用于动态内容的水平和垂直滑动
问题描述
我正在开发一个 iPhone 应用程序,我希望有人可以分享他们的知识,哪些视图控制器最适合我想要实现的功能。
我有两个参数 x 和 y,我根据这两个参数从 Web 服务中获取文本数据。当用户执行水平或垂直滑动时,我会更新 x 和 y 并获取新数据。该操作理论上可以执行非常大量(数千)次。
我在这里担心两件事:
- 性能。由于我们可以执行大量的滑动操作,因此应该有一种方法可以在不需要时释放数据。
- 平稳过渡。我希望水平和垂直过渡都是平滑的,可以在中途停止,就像在 UIPageViewController 中的页面之间过渡一样。
我已经对此进行了研究,到目前为止我已经找到了这些选项:
- 带有手势识别器的 UIViewController。这是我目前编码的。我正在使用手势识别器来更新数据。对于转换,我使用的是 CATransition 方法。这种方法的问题是过渡不平滑,不能中途停止。我想我可以花更多的时间在转换方法上并让它工作得很好,但这似乎是一个不优雅且难以维护的解决方案,因为 Swift 为我们提供了其他实现了此功能的视图控制器。我也不确定在数百次滑动后应用程序在这种情况下的表现如何。
- UIPageViewController。我读到可以在水平 UIPageViewController 内做一个垂直 UIPageViewController,这样我就可以向任一方向滑动到新页面。但是,我不确定这是否是具有数千页动态内容的正确解决方案。
- UICollectionViewController。据我了解,我可能也可以为此使用 UICollectionViewController 。
哪个视图控制器有最合适的方法?我希望解决方案优雅且易于维护。我不介意做更多的研究并弄清楚如何进行编码,只要我知道我应该朝哪个方向前进:)
谢谢!
解决方案
推荐阅读
- reactjs - Input Date Value Not Updating With Moment
- python - PyGreSQL AWS Glue Python
- vue.js - VueJS/Vuetify:用动画/过渡改变 colwidth
- oop - 为什么以及何时应该使用类型转换?
- html - 如果高度可用,则将项目垂直堆叠成一行
- java - JBoss 5 到 jboss 7 迁移指南
- flutter - ScrollView 内的 TabView 渲染错误 - Flutter
- python - AttributeError:模块 'ssl' 没有属性 'PROTOCOL_TLSv1'
- powershell - 有没有办法查询下一个可用子网范围的天蓝色虚拟网络
- python - 尝试使用熊猫中的列名获取列索引