Ios UIScrollView中的UITableView加载所有单元格

Ios UIScrollView中的UITableView加载所有单元格,ios,iphone,uitableview,uiscrollview,autolayout,Ios,Iphone,Uitableview,Uiscrollview,Autolayout,我目前有一个视图、uisegmentedcontrol和另一个视图,它们都在scrollview中。最后一个视图根据uisegmentedcontrol中选定的索引在两个UITableView之间交换。为了使所有元素一起滚动,我将uitableview高度设置为与内容大小相同。但是,当我这样做时,所有的单元格都被加载,因为它们在scrollview中“可见”,即使它们在屏幕上不可见。如果有大量的行数,这会锁定屏幕,并且在某些手机上加载速度较慢。这有什么办法吗?当tableview在屏幕上实际可见

我目前有一个视图、uisegmentedcontrol和另一个视图,它们都在scrollview中。最后一个视图根据uisegmentedcontrol中选定的索引在两个UITableView之间交换。为了使所有元素一起滚动,我将uitableview高度设置为与内容大小相同。但是,当我这样做时,所有的单元格都被加载,因为它们在scrollview中“可见”,即使它们在屏幕上不可见。如果有大量的行数,这会锁定屏幕,并且在某些手机上加载速度较慢。这有什么办法吗?当tableview在屏幕上实际可见而不是在滚动视图中可见时,有没有办法使它只调用tableview:CellForRowatineXpath:

我知道使用headerView和footerView是一个选项,但这有点奇怪,因为两个表视图的俯视图和uisegementedcontrol应该是相同的。我还有其他屏幕,其中在uiscrollview中有两个UITableView(上面和下面都有兄弟视图),我需要所有东西一起滚动

编辑:这是屏幕在屏幕中的布局,有两个UITableView。所有内容都将包含在一个滚动视图中:

|-------------------------------|
|UIView(包含页面标题)|
|------------------------------|
|UITableView
|
|
|
|
|
|------------------------------
|ui按钮
|
|-----------------------------
|
|UITableView
|
|
|
|
|
|
|
|

|-----------------------------

如果要切换UITableView,请从该UITableView中删除页眉和页脚视图,并将它们添加到要显示的另一个视图中。这样,您就不会有重复的俯视图和分段控制问题

至于你想让两个表视图一起滚动的另一个问题,最好是看一个你想让它看起来像什么的模型,但我认为实现这一点的最好方法是使用一个表视图,其中你有一个自定义单元格,你设计成看起来像一分为二。然后,当您滚动时,它看起来就像两个表视图一起滚动

编辑:


基于您对问题的补充,我仍然认为它应该只是一个UITableView。顶部的UIView可能应该是UITableView的标题(但如果希望它始终可见,则不必如此),并且标记为表视图的两个部分应该分别是一个表视图的一部分。UIButton可以包含在中间部分的单元格中,也可以是第二部分的页眉(或顶部部分的页脚)。我可能会把它放在自己的区域里。这样,您的表视图将有三个部分,一个用于顶部的表内容,一个用于按钮,另一个用于底部的表内容。

如果要切换UITableView,请从该UITableView中删除页眉和页脚视图,并将其添加到要显示的另一个视图中。这样,您就不会有重复的俯视图和分段控制问题

至于你想让两个表视图一起滚动的另一个问题,最好是看一个你想让它看起来像什么的模型,但我认为实现这一点的最好方法是使用一个表视图,其中你有一个自定义单元格,你设计成看起来像一分为二。然后,当您滚动时,它看起来就像两个表视图一起滚动

编辑:


基于您对问题的补充,我仍然认为它应该只是一个UITableView。顶部的UIView可能应该是UITableView的标题(但如果希望它始终可见,则不必如此),并且标记为表视图的两个部分应该分别是一个表视图的一部分。UIButton可以包含在中间部分的单元格中,也可以是第二部分的页眉(或顶部部分的页脚)。我可能会把它放在自己的区域里。这样,您的表视图将有三个部分,一个用于顶部的表内容,一个用于按钮,另一个用于底部的表内容。

根据我的个人经验,没有办法满足您的要求。基于上述原因,苹果不建议将TableView嵌入ScrollView中


可见或视为可见的内容取决于内容大小与可见矩形/内容偏移量。UITableView继承自具有动态contentOffset属性的UIScrollView。当您在tableview上下滚动时,此contentOffSet属性会发生更改,并用于确定要加载的单元格。如果contentOffset与表格大小相同,则它认为整个表格可见,并将一次加载所有单元格。

根据我的个人经验,无法按您的要求执行。基于上述原因,苹果不建议将TableView嵌入ScrollView中


可见或视为可见的内容取决于内容大小与可见矩形/内容偏移量。UITableView继承自具有动态contentOffset属性的UIScrollView。当您在tableview上下滚动时,此contentOffSet属性会发生更改,并用于确定要加载的单元格。如果contentOffset与表格大小相同,则认为整个表格可见,并将一次加载所有单元格。

切换页眉/页脚视图时,是否有用于删除/添加的“闪存”?就模型而言,我将尝试在下面的单独答案中绘制它,以便于格式化。我的意思是在原始问题中,当您切换页眉/页脚视图时,是否有用于删除/添加的“flash”?就模型而言,为了便于格式化,我将尝试在下面的单独答案中绘制它