2017-03-16 3 views
2

viewDidLayoutSubviewsを上書きし、contentOffsetUIScrollviewに設定します。しかし、contentOffsetは常にviewDidAppearの前に(0、0)にリセットされます。私はをviewWillAppearviewDidLayoutSubviewsviewDidAppearに印刷しています。ここに結果があります。viewDidLayoutSubviewsの後にUIScrollViewのcontentOffsetがリセットされる

view will appear 
(0.0, 0.0) 
view did layout subviews 
(-37.5, -133.5) 
view did appear 
(0.0, 0.0) 

私はUIScrollViewが見えるようになる前にcontentOffsetを設定したいです。

私はself.automaticallyAdjustsScrollViewInsets = falseを試しましたが、動作しませんでした。

答えて

0

viewDidLayoutSubviewsはすべての子がレイアウトを呼び出したためです。だから、あなたが設定した時点で、あなたのスクロールビューはレイアウトされていないかもしれません。

これを試してみましょう。それがあなたを助けることを願っています。 :)

let indexSubView = 0 
override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 

    indexSubView += 1 
    if indexSubView >= self.view.subviews.count { 
     //do scrolling 
    } 
} 
関連する問題