我确信这是一个非常常见的问题:我有一个UITableView,里面有很多条目。如果单击一个单元格,您将看到有关所选对象的一些详细信息(使用导航控制器完成)。现在,如果用户点击屏幕顶部的后退箭头,他就会成功返回旧表,但现在滚动到现在,无论用户之前触摸过哪个单元格,都会回滚到顶部。
我在ViewController的“viewWillAppear”方法中创建表。但我认为这不是我的问题,因为日志条目显示当我从另一个视图返回时(点击后退按钮),“reloadData”调用(在此方法中)不会被调用。
有人知道如何阻止UITableview从更深层次返回时向上滚动吗?
非常感谢!
答案 0 :(得分:3)
您应该在 - [viewDidLoad]中创建表格视图。这很可能不仅可以解决您的问题,而且也是一种更清洁的方式来做这样的事情。
目前,每次出现视图时都会新创建表视图,当使用后退按钮返回时,也会发生这种情况。
答案 1 :(得分:0)
一种方法是你可以记录单元格所在的索引路径,然后使用UITableView scrolLToRowAtIndexPath滚动到所选的单元格,这是一个参考http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html#//apple_ref/occ/instm/UITableView/scrollToRowAtIndexPath:atScrollPosition:animated: