UIScrollview不保持他们的水平

时间:2010-11-22 16:15:46

标签: objective-c ipad uiscrollview uiscrollviewdelegate

我有2个UIScrollview彼此相邻。 他们在垂直价值上联系在一起。 (上下)

事实证明,我在两个视图中绘制了某种图形(实际上在每个视图中......但图形(一条线)在视觉上可见)。在某些时候你 疯狂地摇动并开始加速和减速,滚动视图不保持水平。 当它停止时,它们会再次升级(在某种动画中),但实际上我希望它们无论用户做什么都会粘在一起。

我玩了很多,但是我的想法很少,所以任何帮助都会非常感激。

谢谢

汤姆

2 个答案:

答案 0 :(得分:0)

所以如果你慢慢平移会有效吗? 我认为这取决于你如何将uiscrollviews挂钩...我的意思是你将垂直值从一个传递到另一个但不是加速度不是吗?请发一些代码

答案 1 :(得分:0)

是的,它运作缓慢。如果我很快就能平稳地工作,它就会变得很甜蜜,但是如果我做了很多停止和加速的事情,它就会破裂。

基本上我在我的viewcontroller中创建了我的uiscrollview并在IB中将它们连接起来。 我正在使用scrollviewdidScroll-delegate方法来保持它们的同步。我也用KVO尝试过,但没有区别。有趣的是,我在内容滚动视图的顶部也有一个滚动视图。无论我在做什么,我都没有设法让它们(contentscroll和columnscroll)不同步。

  • (void)scrollViewDidScroll:(UIScrollView *)scrollView { if(scrollView.dragging || scrollView.tracking) {

    if (rowScrollView == scrollView) 
    {
        [contentScrollView setContentOffset:CGPointMake(contentScrollView.contentOffset.x, scrollView.contentOffset.y) animated:NO];
    } 
    else if (columnScrollView == scrollView) 
    {
        [contentScrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, contentScrollView.contentOffset.y) animated:NO];
    }
    else if (contentScrollView == scrollView)
    {
        [columnScrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, 0) animated:NO];
        [rowScrollView setContentOffset:CGPointMake(0, scrollView.contentOffset.y) animated:NO];
    }
    

    }

谢谢

汤姆