【问题标题】:Keep UITableView position fix when popover controller is dismissed关闭弹出框控制器时保持 UITableView 位置修复
【发布时间】:2014-09-19 08:37:56
【问题描述】:

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

【问题讨论】:

    标签: ios objective-c uitableview uisearchbar uipopovercontroller


    【解决方案1】:

    据我所知,当您关闭 de popover 并在调用 popover 时重新加载它时,您正在保存 UITableview 位置。如果您执行搜索,UITableview 的位置会发生变化,因此如果您保存该位置,当 popover 重新加载时它将转到不同的位置,因为没有执行搜索。 我认为你应该是。在关闭弹出框之前保存搜索。在 viewDidLoad 中执行搜索,然后使用 UITableview 的保存位置滚动到正确的位置。

    【讨论】:

    • 感谢您的快速回复,能否请您添加一些代码sn-ps?在整个过程中指导我?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 2021-12-21
      • 1970-01-01
      • 2015-08-03
      相关资源
      最近更新 更多