2012-03-13 107 views
3

我有一个UIScrollView的内容偏移重置自己所有的时间为一些随机原因。有没有人遇到过这个问题?我将内容偏移量设置为100,然后重置滚动到顶部。任何方式来防止这种情况?UIScrollView重置内容偏移

因此,这里的代码/黑客,我没有让它在设置contentOffset工作:

[self.currentViewController_ performSelector:@selector(scrollToOffset:) withObject:nil afterDelay:0.1]; 

,并在我的currentViewController类我有

-(void)scrollToOffset: (CGFloat) yOffset 
{ 
    [[self.webView_ defaultScrollView] setContentOffset:CGPointMake(0, -44) animated:YES]; 
} 
+1

向我们展示一些代码,伙计!特别是设置contentOffset和您可能已经实现的任何滚动视图委托方法的方法。 – Rog 2012-03-13 22:50:49

+2

很显然,对于大多数人来说,UIScrollView并不会随机重置contentOffset。所以如果你希望得到有用的答案,你将不得不更多地告诉我们你的应用中发生了什么*。 – benzado 2012-03-13 23:03:12

回答

-1

在.contentSize财产也许问题你的scrollView?你把它设置正确了吗?

2

我有一个类似的问题。在我的情况下,问题是我在viewDidLayoutSubviews中设置了scrollview的内容大小。当我试图以编程方式向后滚动视图时,调用了viewDidLayoutSubviews,这导致了内容大小的重置。

+0

什么是好的catch – 2016-09-26 15:11:41

+0

我也有这个问题,是否有反正它阻止它发生? – Tj3n 2016-09-28 03:10:34

1

您可以尝试在第一个动画完成时停止后退动画。

使用该委托调用:

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView 

并调用里面这个方法:

[self setContentOffset:self.contentOffset animated:NO]; 
相关问题