iOS / Swift |视图的无限矩阵:ScrollView 还是 CollectionView?
iOS / Swift | Infinite matrice of views : ScrollView or CollectionView?
我正在创建无限的 "matrix" 视图。当我加载我的 MainView 时,我会围绕它创建视图。然后,如果我滚动到右视图,我会围绕右视图创建新视图。
I tried to schematize what I want to do :
我要问 2 个问题:
1- 我应该使用 ScrollView 并在其中添加视图还是 CollectionView 和在其中添加 collectionViewCells(具有 MainView 的大小)?哪个更好,为什么?我打算使用 ScrollView 和视图,但 CollectionView 允许可重复使用的单元格,这对于无限矩阵可能非常强大 ...
2- 由于用户可以向上和向左滚动,您如何设法在 "index -1" 处添加视图/collectionViewCells 而无需重新加载或移动所有内容 ?
都没有。创建您自己的 UIView
子类,其中包含 UIPanGestureRecognizer
。识别出平底锅后,更新 child 视图的位置。在边缘添加和删除 children,这样您就不会拥有太多 children。 (随着视图移出屏幕,您可以 removeFromSuperview
)。
Graham 是对的,并且遵循 MVC 模型,你不应该关心隐藏/远程视图:当你要显示它们时(就像 tableview 一样......)你(或控制器......)询问你的使用正确的 "key"
对要显示的数据建模
一个亮点是MapKit maps: use tile,可以用类似的方法。
我正在创建无限的 "matrix" 视图。当我加载我的 MainView 时,我会围绕它创建视图。然后,如果我滚动到右视图,我会围绕右视图创建新视图。
I tried to schematize what I want to do :
我要问 2 个问题:
1- 我应该使用 ScrollView 并在其中添加视图还是 CollectionView 和在其中添加 collectionViewCells(具有 MainView 的大小)?哪个更好,为什么?我打算使用 ScrollView 和视图,但 CollectionView 允许可重复使用的单元格,这对于无限矩阵可能非常强大 ...
2- 由于用户可以向上和向左滚动,您如何设法在 "index -1" 处添加视图/collectionViewCells 而无需重新加载或移动所有内容 ?
都没有。创建您自己的 UIView
子类,其中包含 UIPanGestureRecognizer
。识别出平底锅后,更新 child 视图的位置。在边缘添加和删除 children,这样您就不会拥有太多 children。 (随着视图移出屏幕,您可以 removeFromSuperview
)。
Graham 是对的,并且遵循 MVC 模型,你不应该关心隐藏/远程视图:当你要显示它们时(就像 tableview 一样......)你(或控制器......)询问你的使用正确的 "key"
对要显示的数据建模一个亮点是MapKit maps: use tile,可以用类似的方法。