Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIScrollView相对于UITableView和UICollectionView的优势_Ios_Objective C_Uitableview_Uiscrollview_Uicollectionview - Fatal编程技术网

Ios UIScrollView相对于UITableView和UICollectionView的优势

Ios UIScrollView相对于UITableView和UICollectionView的优势,ios,objective-c,uitableview,uiscrollview,uicollectionview,Ios,Objective C,Uitableview,Uiscrollview,Uicollectionview,我正在开发一个MAC工具,您可以在其中查看iOS应用程序的当前viewcontrollerUIElements层次结构。我曾经用很多第三方应用程序来测试它。据我所知,大多数情况下,开发人员使用UITableView或UICollectionView以水平或垂直方式列出某些内容 在测试一些标准应用程序(尤其是电子商务)时,使用uicrollview和UIView作为子视图并在其上添加手势。我想了解的是,为什么这些应用程序不使用tableview或collection来列出某些内容?这背后的原因是什

我正在开发一个MAC工具,您可以在其中查看iOS应用程序的当前viewcontroller
UIElements
层次结构。我曾经用很多第三方应用程序来测试它。据我所知,大多数情况下,开发人员使用
UITableView
UICollectionView
以水平或垂直方式列出某些内容


在测试一些标准应用程序(尤其是电子商务)时,使用
uicrollview
UIView
作为子视图并在其上添加手势。我想了解的是,为什么这些应用程序不使用tableview或collection来列出某些内容?这背后的原因是什么?

这是我一直比较喜欢UITableView和UICollectionView的一些东西

  • UITableView和UICollectionView的最大优点之一是可重用性
  • 说到自动布局,UITableView和UICollectionView比UIScrollView更容易处理
  • 为视图编制索引
  • 委托方法支持
  • 重新加载(更新)视图与UIScrollView相比很容易

  • 我错过的一件事是UITableView和UICollectionView中的分页,因为它在UIScrollView中非常平滑

    这是我一直喜欢的UITableView和UICollectionView中的一些内容

  • UITableView和UICollectionView的最大优点之一是可重用性
  • 说到自动布局,UITableView和UICollectionView比UIScrollView更容易处理
  • 为视图编制索引
  • 委托方法支持
  • 重新加载(更新)视图与UIScrollView相比很容易
  • 我错过的一件事是UITableView和UICollectionView中的分页,因为它在UIScrollView中非常平滑(1)对UIScrollView使用UITableView或UICollectionView的优势在于内存

    例如,如果您有100个项目,那么您必须在UIScrollView中不断添加下面的内容,以便将100个项目的数据保存在内存中

    在UITableView或UIcollectionView中,有一个dequeueReusableCellWithIdentifier,它只保留内存中可见的项。当您向上/向下滚动时,虽然项目不可见,但仍将显示在内存中

    (2) 委托方法—NoOfSections、NoofRow、DidSelectedRow等—尽管在UIScrollView中不可用。因此,您必须通过编码进行管理。

    (1)对UIScrollView使用UITableView或UICollectionView的优势在于内存

    例如,如果您有100个项目,那么您必须在UIScrollView中不断添加下面的内容,以便将100个项目的数据保存在内存中

    在UITableView或UIcollectionView中,有一个dequeueReusableCellWithIdentifier,它只保留内存中可见的项。当您向上/向下滚动时,虽然项目不可见,但仍将显示在内存中


    (2) 委托方法—NoOfSections、NoofRow、DidSelectedRow等—尽管在UIScrollView中不可用。因此您必须通过编码进行管理。

    UICollectionView类:-

    UICollectionView类管理数据项的有序集合,并使用可自定义的布局显示它们。集合视图提供与表视图相同的常规功能,不同之处在于集合视图能够支持的不仅仅是单列布局。集合视图支持可自定义的布局,可用于实现多列网格、平铺布局、圆形布局等。如果需要,甚至可以动态更改集合视图的布局

    UITableView类:-

    表格视图在一列中显示项目列表。UITableView是UIScrollView的一个子类,它允许用户在表格中滚动,尽管UITableView只允许垂直滚动。包含表中各个项目的单元格是UITableViewCell对象;UITableView使用这些对象绘制表的可见行。单元格具有内容标题和图像,并且可以在右边缘附近具有辅助视图。标准附件视图为显示指示器或详细显示按钮;前者导致数据层次结构中的下一级,后者导致所选项目的详细视图。附件视图也可以是框架控件,如开关和滑块,也可以是自定义视图。表视图可以进入编辑模式,用户可以在该模式下插入、删除表中的行并对其重新排序


    人们主要使用
    UICollectionview
    来创建具有网格中显示的多个图像的UI类型。使用UITableView会有复杂的逻辑,但使用
    UICollectionview
    ,这将很容易。

    UICollectionview类:-

    UICollectionView类管理数据项的有序集合,并使用可自定义的布局显示它们。集合视图提供与表视图相同的常规功能,不同之处在于集合视图能够支持的不仅仅是单列布局。集合视图支持可自定义的布局,可用于实现多列网格、平铺布局、圆形布局等。如果需要,甚至可以动态更改集合视图的布局

    UITableView类:-

    表格视图在一列中显示项目列表。UITableView是UIScrollView的一个子类,它允许用户在表格中滚动,尽管UITableView只允许垂直滚动。包含表中各个项目的单元格是UITableViewCell对象;UITableView使用这些对象绘制表的可见行。单元格具有内容标题和图像,并且可以在右边缘附近具有辅助视图。标准附件视图为显示指示器或详细显示按钮;前者导致数据层次结构中的下一级,而后者导致deta