UIScrollView 弹回顶部

Posted

技术标签:

【中文标题】UIScrollView 弹回顶部【英文标题】:UIScrollView bounces back to top 【发布时间】:2016-10-29 03:57:27 【问题描述】:

UIScrollView 中,我有一个比屏幕大的容器UIView,当我滚动一点时,它会在我释放它后自动弹回顶部。

我已将 Container UIViewUIScrollView 的边距设置为 0,并将约束 Equal HeightEqual Width 添加到 Container UIView 相对于 Main UIView

我看到很多人问过类似的问题,但他们的问题的答案都没有帮助我。

你知道如何解决这个问题吗?

【问题讨论】:

你的约束是否正确?您也可以手动将滚动视图的 contentSize = 设置为 viewDidLayoutSubviews 中的 containerView 框架的大小,但那是超级hacky。 【参考方案1】:

确保您的约束是适当的。正如您已经提到的容器视图的高度大于屏幕(也大于滚动视图),您可以尝试在 viewDidLayoutSubViews 中手动设置 ScrollView 的 contentSize。

-(void)viewDidLayoutSubviews

    self.scrollView.contentSize = self.containerView.size;

如果不起作用,请尝试使用以下方法:

-(void)viewDidLayoutSubviews

    CGRect contentRect = CGRectZero;
    for (UIView *view in self.scrollView.subviews) 
    contentRect = CGRectUnion(contentRect, view.frame);
    
    self.scrollView.contentSize = contentRect.size;

【讨论】:

以上是关于UIScrollView 弹回顶部的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 不会在特定点停止,它会弹回顶部

iPad UITableView 滚动弹回顶部

使 UIScrollView 中的顶部图像在滚动视图边界上放大?

UIScroll 视图 + UIView + UITableview 问题

带有 AutoLayout 的 UIScrollView 灵活布局

iPhone + UIScrollView