单击表格单元格时将 UIViewController 滚动到顶部

Posted

技术标签:

【中文标题】单击表格单元格时将 UIViewController 滚动到顶部【英文标题】:Scroll UIViewController to Top when Table Cell Clicked 【发布时间】:2015-05-19 21:16:55 【问题描述】:

在我的主控制器中,我有一个表格视图,其中包含用户可以单击的单元格。但是目前,如果用户滚动到主控制器底部的一半来单击一个单元格,那么加载的页面也会滚动到一半。当用户单击单元格时,如何使我继续滚动到顶部的控制器视图?此外,单元格继续只有几个标签的页面,就是这样。

【问题讨论】:

【参考方案1】:

将表格的contentOffset 设置为滚动回顶部。新的偏移量将是顶部的contentInset,它占所有顶部条形。

您可以对其进行动画处理:

[self.tableView setContentOffset:CGPointMake(0, 0 - self.tableView.contentInset.top) animated:YES];

...或者直接设置,取决于你的需要:

self.tableView.contentOffset = CGPointMake(0, 0 - self.tableView.contentInset.top);

【讨论】:

这不起作用。另外,我的 UIViewController 没有任何表格,我想在用户查看页面时将其视图设置为顶部。按照目前的情况,当用户单击页面上确实包含表格的单元格时,被锁定的页面将向下滚动到用户单击单元格时向下滚动到的位置。 视图控制器不可滚动。您使用的是页面视图控制器还是滚动视图?如果它正在滚动,它有一个 contentOffset。如果它不可滚动,则某些东西正在影响视图的框架。您将不得不发布一些代码/详细信息来显示/解释(推送?)segue 实例化的内容。 您的问题和评论根本不清楚。在问题中,您是在说您有一张桌子,而在评论中您是在说它没有桌子。它对你想要达到的目标也很困惑。正如@PetahChristian 所说,您需要发布一些代码或更多细节以使事情变得清晰。

以上是关于单击表格单元格时将 UIViewController 滚动到顶部的主要内容,如果未能解决你的问题,请参考以下文章

单击另一个单元格时将 UITableViewCell 折叠到原始大小

为啥在制作自定义表格视图单元格时将可重用单元格出列两次

按下表格单元格时将视图加载到导航视图控制器中

单击表格单元格时无法获取表格标题文本

单击表格视图单元格时加载缓慢

表格视图在按钮单击时更新单元格时反弹