2016-10-12 4 views
3

UIViewControllerのライフサイクルでは、contentOffestUIScrollViewに設定するのが最適ですか?/when set contentOffset?

viewDidLoadまたはviewWillAppearに設定すると、効果がありません。 viewDidAppearに入っていると、小さな「ジャンプ」が開始時に発生します。私は前回のスクロール位置でcontentOffsetをプリロードする必要が

contentOffset.x = some_value 

setContentOffset(CGPoint(x: some_value, y: 0), animated: false) 

と:

をしてみました。

とにかくUIScrollViewUICollectionViewです。

+0

UIコンポーネント(UILabel、UIViewなど)高さと幅は動的です(内容に応じて) – iMHitesh

+0

'viewWillAppear(_ :)'? – keithbhunter

+0

'viewWillAppear'は効果がありません。 –

答えて

0

あなたはオフセットを設定しようとする前にviewWillAppearviewDidLoadを呼び出す必要がありますviewDidLayoutSubviews

0

でそれを使用するようにしてください。

ただし、ビューのライフサイクルでオフセットを設定するのが早すぎる可能性があります。

-(void)viewDidLayoutSubviews;を無効にしてそこにオフセットを設定するとよい場合があります。

あなたのビューのフレームは、その時点までにすべて適切に設定する必要があります。

注:があまりにもスーパーが

を呼び出すことを忘れないでください、この答えはhereから見つけることです。