当弹出控制器被关闭时,保持UITableView定位

时间:2014-09-19 08:37:57

标签: ios objective-c uitableview uisearchbar uipopovercontroller

我在UISearchbar内创建了一个UITableViewUIPopoverController的应用。每当我执行搜索时,表格都会正确显示所需的位置,但是当我解除弹出窗口时,自动将当前位置和所选单元格丢失。
所以情况是,我需要在弹出窗口被解除时,然后重新打电话,告诉我解雇前的确切位置。我的猜测是,当弹出窗口被解雇时,uitableview会重新加载到起始位置 注: :当我使用搜索栏执行搜索并关闭弹出窗口时出现问题,如果我不使用搜索栏并向下滚动表格视图,单击一个项目,关闭弹出窗口,然后重新打开它,我会在解雇前得到我离开的确切位置 这个小草图可以提供更多帮助:
enter image description here 我有什么想法可能做错了吗?

2 个答案:

答案 0 :(得分:0)

根据我的理解,当你解雇de popover并在调用popover时重新加载它时,你正在保存UITableview位置。如果您执行搜索UITableview更改的位置,那么如果您保存该位置,当弹出窗口重新加载时,它将转到其他位置,因为未执行搜索。 我认为你应该是什么。在解除弹出窗口之前保存搜索。在viewDidLoad中执行搜索,然后使用UITableview的已保存位置滚动到正确的位置。

答案 1 :(得分:0)

解决方案是我需要创建一个新的可变数组来保存新过滤的数据。如果用户搜索项目,则布尔变量将更改其值。在视图中将出现方法,将对该布尔值进行测试:如果它已更改,则应用程序将加载新创建的可变数组,否则将加载通常的数组。希望这将有助于未来的人。

相关问题