2011-01-23 8 views
2

なぜこれが機能していないのか分かりません。うまくいけば、欠けている部分を見つけるのを助けることができます。私はページングを有効にしてUIScrollViewを持っています。私はチュートリアルを通してサイドスクロールのためにそれを使用しています。タップすると、チュートリアルの最初にユーザーをスクロールする必要があるボタンがあります。私はもともと、スクロールビューのフレームをスクロールする矩形として使用しようとしました。その理由は、CGRectが最初のページを表す必要があるからです。私は別のカップルを試してみましたCGRectsしかし、役に立たない。UIScrollView scrollRectToVisibleは何もしていません

- (IBAction) touchedButtonReturnToBeginning:(id)sender { 
    // I've tried several CGRect's, none of which cause the UIScrollView to move. 
    // CGRect beginning = self.containerScrollView.frame 
    // CGRect beginning = self.containerScrollView.bounds; 
    CGRect beginning = CGRectMake(0, 44, 1, 1); 
    [self.containerScrollView scrollRectToVisible:beginning animated:YES]; 
} 

私はself.containerScrollViewが私のxibにフックアップされるだけでなく、touchedButtonReturnToBeginningアクションが私のボタンに接続されていることを確認しました。デバッガを使ってこのメソッドを実行したので、呼び出されていることを確認しました。すべての変数は適切に設定されていますが、scrollRectToVisibleと呼び出すと、スクロールビューは何もしません。

アイデア?

+0

スクロールするボタンをタッチすると、 'touchedButtonReturnToBeginning' **が**正しく呼び出されますか? – aqua

+0

はい、私はメソッドにNSLogを入れました。私はステップバイステップでデバッガを使用しました。私はそれが起こっているのを見ています。 –

+0

'UIScrollView'の' contentSize'プロパティをチェックしましたか? この問題が発生すると、通常、スクロールビューのコンテンツサイズが無効な({0,0}などの)無効なコンテンツによって引き起こされます。 – Jay

答えて

11

私はそれがうまくいかない理由は分かりませんが、[self.containerScrollView setContentOffset:CGPointZero animated:YES]を試しましたか?

+3

そのDIDが機能します。なぜ、スクロールしてもスクロールしないのですか?それは奇妙です.. –

+0

は本当に奇妙です;) – user170317

5

scrollRectToVisibleを動作させるには、self.containerScrollView.contentSizeをチェックします。それは十分に大きいはずです:)

+0

これは '0 x 0'でしたが、今はフレームと同じに設定しましたが、それでも動作しません。 –

+0

コンテンツのサイズはスクロールフレームより大きくなければなりません。他の方法では、scrollRectToVisibleだけでなく、スクロール自体は何もしません。 –

+0

自動的に設定しないでください。そうでなければ、私はそれを設定しなければならない公式は何ですか?コンテンツサイズと境界またはフレームとの間の相互関係は何ですか? –

関連する問題