2012-07-11 111 views
2

我希望UIScrollView始终回滚到特定点。 我通过写作来实现它:UIScrollView和targetContentOffset无法正常工作

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset 
{ 
    (*targetContentOffset).x = 0.0f; 
} 

它的工作原理有一个例外精致漂亮。 当我滚动得足够远并到达视图的末端(然后开始弹跳)并向上拉动手指时,视图只是在减速稍微后退的情况下平滑滚动,然后停止然后跳转(无动画),在此处设置它。 只要我不滚动到滚动视图的结尾,它就不会发生。

下面是如何初始化的UIScrollView

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 284, frame.size.height)]; 
    scrollView.backgroundColor = [UIColor clearColor]; 
    scrollView.delegate = self; 

    [scrollView setContentSize:CGSizeMake(285,frame.size.height)]; 
    [self addSubview:scrollView]; 

    UIEdgeInsets inset = scrollView.contentInset; 
    inset.left = 60; 
    inset.right = 60; 
    [scrollView setContentInset:inset]; 

回答

0

的弹跳效果是默认的行为,当你到达滚动视图的内容的界限,你可以通过属性来设置反弹至NO将其关闭:

yourscrollView.bounces = NO; 

我相信这只是你在这里面临的问题。

+0

也许msmialko希望视图以正常的弹跳效果达到新的targetContentOffset – 2014-07-10 12:00:19