UIScrollView 在触摸动作时自动滚动到顶部

Posted

技术标签:

【中文标题】UIScrollView 在触摸动作时自动滚动到顶部【英文标题】:UIScrollView automatically scrolls to top on touch action 【发布时间】:2016-09-18 02:42:53 【问题描述】:

我在UIViewController 中使用UIScrollView,使用AutoLayout。我正在像这样为UIScrollView 设置内容视图高度

 if(IS_IPHONE_6) 
        self.contentViewHeight.constant = 750;
    
    if(IS_IPHONE_5) 
        self.contentViewHeight.constant = 700;
    

一切正常。它滚动正确,但是当我滚动到底部然后触摸内容视图内部或触摸内容视图的任何子视图时,它会自动向上滚动。它发生在iPhone 6 和 6P。它在iPhone 5 中运行良好。我浏览了许多 *** 帖子,但没有得到想要的结果。我试着设置

_scrollView.scrollsToTop = NO;

但它不起作用。请帮我停止自动滚动。我将以下约束设置为UIScrollview

【问题讨论】:

你把 4 个面都钉住了吗? 是的,如附件所示,我已固定。 请记住,您必须将所有 4 个面都固定到主视图,并将滚动视图的宽度设置为与主视图相等。这两个你都做了吗? 是的,我固定了所有 4 个边并且滚动视图宽度等于内容视图的宽度。还有什么需要补充的吗? 我没有将 UIScrollView 的顶部和底部设置为主视图,因为滚动视图的顶部和底部都有视图。 【参考方案1】:

最后我设法停止自动滚动到顶部触摸内部动作。我在情节提要中禁用了分页,它对我有用。我不知道为什么分页会自动滚动到顶部。

【讨论】:

以上是关于UIScrollView 在触摸动作时自动滚动到顶部的主要内容,如果未能解决你的问题,请参考以下文章

点击按钮后 UIScrollView 不会滚动

自动滚动时 UIScrollView 触摸不起作用

_adjustContentOffsetIfNecessary - UIScrollView 自动滚动到顶部

触摸状态栏时 UIScrollView 滚动到底部

滚动时如何将 UIScrollView 子视图“粘贴”到顶部/底部?

UIScrollView 触摸处理