我有一个UIScrollView,其内容偏移因为某些随机原因而一直重置。有没有人遇到过这个问题?我将内容偏移量设置为100,然后重新向上滚动到顶部。有什么方法可以防止这种情况吗?
所以这是我在设置contentOffset时所做的代码/ hack:
[self.currentViewController_ performSelector:@selector(scrollToOffset:) withObject:nil afterDelay:0.1];
在我的currentViewController类中我有
-(void)scrollToOffset: (CGFloat) yOffset
{
[[self.webView_ defaultScrollView] setContentOffset:CGPointMake(0, -44) animated:YES];
}
答案 0 :(得分:2)
我有一个类似的问题。在我的例子中,问题是我在viewDidLayoutSubviews中设置了scrollview的内容大小。当我尝试以编程方式回滚视图时,调用了viewDidLayoutSubviews,这导致内容大小重置。
答案 1 :(得分:1)
您可以尝试在第一个动画完成时停止后退动画。
使用此委托电话:
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
并在其中调用此方法:
[self setContentOffset:self.contentOffset animated:NO];
答案 2 :(得分:-1)
你的scrollView的.contentSize属性可能有问题吗?你把它设置得对吗?