比如说我有一个标签栏控制器,其中一个视图是tableviewcontroller,另一个是其他视图。另一个视图中有一个按钮,当按下时,应使其成为桌面视图(当您按下按钮时不在屏幕上)重新定位自身,以便某些指定的单元格现在是表格视图时显示的顶部单元格再次显示。
我的问题是:当按下按钮时,我可以从另一个类中调用[myTableVC.tableView scrollToRowAtIndexPath:someIndex]吗?或者,当调用scrollToRowAtIndexPath以更改将显示的顶部单元格时,视图是否实际上必须在屏幕上?
答案 0 :(得分:1)
您可能可以,但您可能不应该在屏幕外视图控制器上调用view
或tableView
,这可能会导致其视图不必要地加载到内存中。只需在视图控制器上设置一个属性 - 一个CGFloat或其他 - 用于它出现时应该的滚动位置,并滚动到控制器的-viewDidLoad
或{{中的那个位置1}}。