如何直接滚动到特定的内容偏移量(不显示其他内容)

Posted

技术标签:

【中文标题】如何直接滚动到特定的内容偏移量(不显示其他内容)【英文标题】:How to scroll to a particular content offset directly(without showing other contents ) 【发布时间】:2014-01-22 18:05:28 【问题描述】:

我正在使用

[scrollView_Mag setContentOffset:CGPointMake(320 * currentImageView, 0) animated:No];

以便我可以滚动到特定视图(根据需要)。在代码中“currentImageView”是视图的编号,我想滚动。它工作得很好。唯一的问题是,例如我是 320*10 点,我想将内容偏移设置为 320*2,它从点 320*10 滚动到 320*2,从而显示所有其他内容。这是我不想要的。我希望它立即滚动而不显示任何其他内容

【问题讨论】:

什么是No?如果你不想让它动画,你需要NO @rmaddy 我试过了,是的,两者都没有。但没办法,我想要 【参考方案1】:
[scrollView_Mag setHidden:YES];
[scrollView_Mag setContentOffset:CGPointMake(320 * currentImageView, 0) animated:NO];
[scrollView_Mag setHidden:NO];

当你移动内容偏移量时:

 //Define this BOOL in header
 isManuallyScrolling = YES; 
 [scrollView_Mag setHidden:YES];
 [scrollView_Mag setContentOffset:CGPointMake(320 * currentImageView, 0) animated:NO];


//Use the scrollView delegate method to see when it stopped scrolling
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 

    //If we manually scrolled, unhide the scrollView
    if (isManuallyScrolling) 
        [scrollView_Mag setHidden:NO];
        isManuallyScrolling = NO;
    

【讨论】:

它也是,没用。我尝试过这个。它应该有效,就像我需要的那样。但它没有。 :( 这是一个非常好的技巧。我在阅读您的答案后尝试过,但问题是它使 scrollView 永久隐藏。即永远不会调用“- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView” @PiyushMishra 先生,您能帮我解决这个问题吗?我会非常感谢你 任何其他提示,建议。会很棒 @Jeev 尝试上述实现,但将动画设置为YES。委托方法可能不会触发,因为从技术上讲,它并不是每次都在加速或减速。

以上是关于如何直接滚动到特定的内容偏移量(不显示其他内容)的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 最大和最小内容偏移量?

如何隐藏滚动间谍中的其他内容而不是滚动到特定位置

根据 UIScrollView 的内容偏移量移动 UIView

Bootstrap Scrollspy 不正确的突出显示

如何将页脚ID偏移到固定位置的底部

忽略UITableViewCell内的垂直滚动