在iOS中使用这种复杂的水平和垂直滚动结构的最佳方法是什么?

在iOS中使用这种复杂的水平和垂直滚动结构的最佳方法是什么?,ios,objective-c,uiscrollview,uicollectionview,Ios,Objective C,Uiscrollview,Uicollectionview,我正在开发这种结构的应用程序 这显示了一个车辆列表的详细信息,但也有水平滚动,所以在滑动下一个时,它应该加载下一个列表。此外,每个列表都有拉刷新功能。还可以在旁边滑动图像以加载更多图像。“概述”、“详细信息”是不同的选项卡,单击时每个选项卡都会加载各自的详细信息。用户还可以向上滚动,并能够看到下面的更多细节 在我的应用程序中使用这种结构的最佳方法是什么?我应该使用哪些UI组件以及如何使用?还有数千个列表,因此我们不会一次加载所有视图以避免内存问题。但是,如果我们在水平布局中重用视图,由于每个页面

我正在开发这种结构的应用程序

这显示了一个车辆列表的详细信息,但也有水平滚动,所以在滑动下一个时,它应该加载下一个列表。此外,每个列表都有拉刷新功能。还可以在旁边滑动图像以加载更多图像。“概述”、“详细信息”是不同的选项卡,单击时每个选项卡都会加载各自的详细信息。用户还可以向上滚动,并能够看到下面的更多细节

在我的应用程序中使用这种结构的最佳方法是什么?我应该使用哪些UI组件以及如何使用?还有数千个列表,因此我们不会一次加载所有视图以避免内存问题。但是,如果我们在水平布局中重用视图,由于每个页面中的复杂视图结构,水平滚动也有可能不平滑,并且在更改页面时会滞后?有没有人遇到过这种视图结构,并有解决方案


任何建议都将不胜感激。

水平
UICollectionView
作为根目录

  • 每个
    UICollectionViewCell
    都包含一个详细信息
    UIViewController
每个细节
UIViewController
都包含一个
UITableView

  • UITableView
    包含用于刷新的按钮
  • 每个
    UITableViewCell
    都是详细信息屏幕的不同部分(图像库、选项卡、概述)
每个图像库
UITableViewCell
都包含一个
UICollectionView

  • 每个
    UICollectionViewCell
    包含每个图像

与性能相关的最大问题是确保上述所有视图层次结构只构建一次,而不是在每个单元中重用。上述所有组件都应该可以注入将填充它们的模型对象或视图模型。每次重用只需更改显示的值并重新加载关联的
UICollectionView
s和
UITableView
s。

您应该将
UIPageViewController
与两个视图控制器一起使用,以便可以使用不同的数据交替显示。第二件事是你可以在两个视图控制器中使用
scrollview
,这两个视图控制器都可以垂直滚动

因此,当您水平滑动时,它会使用新数据更改页面,如果您垂直滑动,它会垂直滚动


希望这会有所帮助:)

如果我是你,我会在
UIPageViewController
的每个子级
UIViewController
中使用
UIPageViewController
进行水平滚动,并使用
UITableView
进行垂直滚动

这样,如果需要,我可以在
UITableViewCells
中使用另一个水平滚动视图来进一步隔离它

请不要使用普通的
UIScrollView
进行水平或垂直滚动,因为这些滚动很繁重,而且很难手动实现内存管理


希望能有帮助。干杯

实现视图水平滚动的最佳方法是使用SwipeView(),因为它具有视图可重用性的特点。这个问题是一种广泛的、可能主要基于视图的方法,因为您需要“最佳方法”来实现此行为。你已经试过什么了?请发布您正在进行的工作实现。页面视图控制器是一个更好的方法来做这件事。谢谢!我最终使用了UICollectionView和UITableView,每个UICollectionViewCell中都有多个部分。