Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Iphone 如何更改ViewController列表(通过更改谓词)而不弹出和按下?_Iphone_Animation_Uitableview_Toggle_Predicate - Fatal编程技术网

Iphone 如何更改ViewController列表(通过更改谓词)而不弹出和按下?

Iphone 如何更改ViewController列表(通过更改谓词)而不弹出和按下?,iphone,animation,uitableview,toggle,predicate,Iphone,Animation,Uitableview,Toggle,Predicate,我有一个ViewController,它的视图是从带有谓词1的获取请求中得到的数据生成的。我想用更严格的谓词2重复fetch请求,该谓词2将使用谓词1给出数据的子集 然后,我想通过按下切换按钮来更新iPhone屏幕上的视图(可能还有动画),以便新旧视图展开和折叠行。(我不想以模式执行此操作,因为我希望用户查看哪些行来自旧行。) 我在想iPhone上的手机应用程序。在“最近”选项卡下,您将看到“全部”和“丢失”按钮。当您按下这些按钮时,它会通过展开/折叠行在显示所有呼叫和仅显示未接呼叫之间切换。据

我有一个ViewController,它的视图是从带有谓词1的获取请求中得到的数据生成的。我想用更严格的谓词2重复fetch请求,该谓词2将使用谓词1给出数据的子集

然后,我想通过按下切换按钮来更新iPhone屏幕上的视图(可能还有动画),以便新旧视图展开和折叠行。(我不想以模式执行此操作,因为我希望用户查看哪些行来自旧行。)

我在想iPhone上的手机应用程序。在“最近”选项卡下,您将看到“全部”和“丢失”按钮。当您按下这些按钮时,它会通过展开/折叠行在显示所有呼叫和仅显示未接呼叫之间切换。据我所知,这不是一个模式转换


有人能告诉我怎么做吗

如果您的视图是
UITableView
,则可以使用

-deleteRowsAtIndexPaths:withRowAnimation:

以及相应的
-insert
方法(如适用)。您可以使用
-beginUpdates
-endUpdates
批处理多个更改(以便同时设置动画)


我不知道有什么方法可以做到这一点,不需要迭代两个集合中的一个,然后在另一个集合上重复调用
-indexForObject

我找到了一种通过改变每个单元格的高度来展开/折叠行的方法,使用tableView:heightforrowsatindexath:indexPath:,如:


希望这对别人有帮助

谢谢。。。插入和删除(以及跟踪它们属于哪一个以及它们在列表中的位置)在我只是在相同的两行列表之间来回移动时,似乎需要做很多工作。希望有一个更简单的方法。。。
-deleteSections:withRowAnimation: