Ios 滚动至特定表格项目

Ios 滚动至特定表格项目,ios,uitableview,xamarin.ios,xamarin,nsindexpath,Ios,Uitableview,Xamarin.ios,Xamarin,Nsindexpath,因此,我有一个UITableview,有3个不同的选项卡设置 我想将表格滚动到特定项目 如果用户添加了一个新项目,表将一直滚动到底部,因为该项目将在底部添加 如果用户选择其中一项并对其进行编辑,则该项应返回到表上的相同位置。没有滚动到顶部或底部 这就是我所拥有的: 这是一个类变量。 nsindescrolly 在我的视图中将消失: lastcrolly=this.tableView.IndexPathForSelectedRow() 在我的视图中将出现: if(lastcrolly!=null)

因此,我有一个
UITableview
,有3个不同的选项卡设置

我想将表格滚动到特定项目

如果用户添加了一个新项目,表将一直滚动到底部,因为该项目将在底部添加

如果用户选择其中一项并对其进行编辑,则该项应返回到表上的相同位置。没有滚动到顶部或底部

这就是我所拥有的:

这是一个类变量。
nsindescrolly

在我的
视图中将消失

lastcrolly=this.tableView.IndexPathForSelectedRow()

在我的
视图中将出现

if(lastcrolly!=null){

this.tableView.ScrollToRow(lastcolly,UITableViewScrollPosition.None,true);
}

这似乎不起作用。 这仅适用于用户选择保存的项目时。 那么什么时候向表中添加新的项/行呢

请详细解释,因为我是新来的


谢谢你抽出时间

在将新单元格添加到tableView后,请使用与之前相同的方法,但要更改滚动位置(此代码在Objective-C中,但执行的操作与您的相同。如果您需要,我将尝试帮助您进行翻译):

您可能还希望在方法的重写中设置lastScrollY

(void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath
使用自动传入的值indexPath保存到lastScrollY

最后,我不确定这是否有帮助,但在您当前的scrollToRow调用中,您让它滚动到“无”,尝试让它滚动到UITableViewScrollPositionTop。如果这仍然不起作用,请尝试在ViewWillDisplay方法末尾调用[tableView reloadData],这可能与您的语言中的tableView.reloadData()类似

希望这有帮助

希望这有帮助-
(void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath