低于一定速度时停止滚动视图动画

时间:2011-10-05 13:33:26

标签: objective-c uiscrollview

我有一个带有UIScrollView的应用程序。在scrollView上我有多个选项卡。我想拖下来的每个标签,以便我可以在这些标签上显示另一个视图。

问题是,当uiscrollview仍在滚动时,我无法向下拖动标签。 当减速度低于某个速度时,想法是使滚动视图停止移动,这样我就可以更早地访问标签,这样用户就不必等待了。

有没有人知道如何以一定的减速速度或以下速度停止uiscrollbar的减速(完全停止滚动条运动)?

非常感谢您的帮助。

// --- 为了清晰起见而编辑 --- //

2 个答案:

答案 0 :(得分:1)

#define SCROLL_DECELERATION_FACTOR 2.0 

- (void)viewDidLoad
{
    [super viewDidLoad];

    float decel = UIScrollViewDecelerationRateNormal - (UIScrollViewDecelerationRateNormal - UIScrollViewDecelerationRateFast)/SCROLL_DECELERATION_FACTOR;
    self.scrollView.decelerationRate = decel;
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{

}

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{

}


- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{


}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{

   scrollView.userInteractionEnabled = NO;

}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{

}


- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{

    scrollView.userInteractionEnabled = YES;
}

答案 1 :(得分:1)

How to know exactly when a UIScrollView's scrolling has stopped?

这个问题在这里引出了答案。谢谢你的努力