【问题标题】:UITableView scroll to where user clickedUITableView 滚动到用户点击的地方
【发布时间】:2010-02-01 17:26:46
【问题描述】:

我确信这是一个很常见的问题:我有一个 UITableView,里面有很多条目。如果您单击一个单元格,您将看到有关所选对象的一些详细信息(使用导航控制器完成)。现在如果用户点击屏幕顶部的后退箭头,他会成功返回到旧表格,但现在无论用户之前触摸的是哪个单元格,都会滚动到顶部。

我在 ViewController 的“viewWillAppear”方法中创建表。然而我认为这不是我的问题,因为日志条目显示当我从另一个视图返回(点击后退按钮)时,“reloadData”调用(在此方法中)不会被调用。

有人知道我如何防止 UITableview 从更深层次返回时向上滚动吗?

非常感谢!

【问题讨论】:

    标签: iphone objective-c uitableview


    【解决方案1】:

    您应该在 -[viewDidLoad] 中创建表格视图。这很可能不仅可以解决您的问题,而且是一种更清洁的方式来执行此类操作。

    目前,每次视图出现时都会重新创建表格视图,当然当您使用后退按钮返回时也会发生这种情况。

    【讨论】:

    • 非常感谢,您的评论促使我再次检查文档,现在我明白了为什么 loadView 以前对我不起作用。现在一切都好,谢谢!滚动的问题也消失了:)完美!
    【解决方案2】:

    一种方法是您可以记录单元格所在的索引路径,然后使用 UITableView scrollLToRowAtIndexPath 滚动到选定的单元格,这是参考http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html#//apple_ref/occ/instm/UITableView/scrollToRowAtIndexPath:atScrollPosition:animated

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 2016-09-04
      • 1970-01-01
      • 2012-02-15
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多