2012-03-13 6 views
3

コンテンツのオフセットが何らかのランダムな理由で常にリセットされるUIScrollViewがあります。誰もこの問題に遭遇しましたか?コンテンツを100にオフセットしてから、スクロールしてトップに戻します。これを防ぐ方法はありますか?私はUIScrollViewはcontentOffsetをリセットします

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

は、私たちにいくつかのコードの男を見せて下さい!特に、あなたが実装した可能性のあるcontentOffsetとスクロールビューデリゲートメソッドを設定するメソッド。 – Rog

+2

明らかに、UIScrollViewはほとんどの人にとってcontentOffsetをランダムにリセットしません。あなたが役に立つ答えを望むなら、あなたのアプリ*で何が起こっているのかをもっと教えなければなりません。 – benzado

答えて

-1

の.contentSizeプロパティでたぶん問題を抱えている

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

を、私のcurrentViewControllerクラスで:

は、だからここに私はそれがcontentOffset設定で動作させるためにやったコード/ハックですあなたのscrollView?それを正しく設定しましたか?

2

私も同様の問題がありました。私の場合、問題はviewDidLayoutSubviewsでスクロールビューのコンテンツサイズを設定したことです。プログラムでビューをスクロールしようとすると、viewDidLayoutSubviewsが呼び出され、コンテンツサイズがリセットされました。

+0

なんて良いキャッチ –

+0

私もこの問題を抱えています。 – Tj3n

1

最初のアニメーションが完了したら、バックアニメーションを停止することができます。

使用このデリゲートの呼び出し:

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView 

そして、その中にこのメソッドを呼び出します。

[self setContentOffset:self.contentOffset animated:NO]; 
関連する問題