我有一个UITableView,其中包含许多选项,并允许用户选择这些选项之一。我用选中标记附件标记了选定的行。
在iPad上,单击按钮即可在弹出窗口中打开它,并显示表格视图并选中其中一行。但有时此选中的行不在屏幕上,需要滚动才能到达该行。打开弹出窗口时,我想滚动到该选中的行。我曾尝试在viewDidAppear中执行scrollToRowAtIndexPath:atScrollPosition:animated :,但我发现在对cellForRowAtIndexPath进行任何调用之前均已调用viewDidAppear,并且不会滚动到选定的行
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"viewDidAppear called");
[super viewDidAppear:animated];
//currentSelectedIndexPath is a correct index path
[self.tableView scrollToRowAtIndexPath:currentSelectedIndexPath atScrollPosition:UITableViewScrollPositionMiddle animated:NO];
}
最佳答案
在滚动[self.tableView reloadData]
之前,尝试调用viewDidAppear
。
关于objective-c - 第一次打开时如何滚动到UITableView中的一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7758120/