我正在尝试在以下委托方法中修改滚动的 contentOffset:
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
我已经尝试了以下两种方法:
[UIView animateWithDuration:.2 animations:^ {
[scrollView setContentOffset:CGPointZero animated:NO];
}];
和
[UIView animateWithDuration:.2 animations:^ {
CGRect svBounds = self.bounds;
svBounds.origin.y = 0;
self.bounds = svBounds;
}];
问题是虽然这会立即改变偏移量(动画完成后的日志证明),但它不会改变可见的滚动位置。我的滚动视图的后续委托方法进一步证明了这一点,这表明边界确实根本没有改变。表示y位置不为0。
是否禁止更改此特定委托方法中的内容偏移量?如果是这样,我什么时候可以更改偏移量?一旦用户完成拖动(在一定量之后),我正在尝试执行将可见滚动区域返回到顶部的动画。
谢谢!