代码:
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
int diff = end-start;
if (diff>0)
{
k = k + 95;
}
else {
k = k - 95;
}
[scrollView setContentOffset:CGPointMake(k, 0) animated:YES];
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
start = scrollView.contentOffset.x;
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
end = scrollView.contentOffset.x;
}
我有一个包含3个标签的滚动视图。 leftSide 90像素宽,中心90像素宽,右边90像素宽。每个标签有5像素间隙。当滚动视图向左或向右滚动时,我对齐屏幕的下一个或上一个标签中心。逻辑工作正常。但是动画不顺畅在开始动画之后还有一个停顿。我如何解决这个问题?。我如何加快动画效果?任何帮助都将受到赞赏。
答案 0 :(得分:1)
您可以通过调整持续时间值,通过以下方式调整滚动速度。
[UIView animateWithDuration:0.5 animations:^{
_scrolview.contentOffset = CGPointMake(k, 0);
}];
答案 1 :(得分:0)
我认为更好的方法是使用UIScrollView的
pagingEnabled = YES;
并且您不需要上述委托方法。确保已设置contentSize。