我希望UIScrollView始终可以滚动回特定的点。我通过编写以下代码实现了这个功能:
- (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];