2012-03-13 154 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]; 
相關問題