单击表格单元格时将 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 滚动到顶部的主要内容,如果未能解决你的问题,请参考以下文章