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