2017-03-16 86 views
2

我覆蓋viewDidLayoutSubviews並設置我的UIScrollviewcontentOffset。但contentOffset總是在viewDidAppear之前重置爲(0,0)。我打印contentOffsetviewWillAppear,viewDidLayoutSubviews,viewDidAppear。結果如下。UIScrollView的contentOffset在viewDidLayoutSubviews之後被重置

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會調用每個孩子的佈局。所以,也許你的scrollview沒有在你設置的時候佈局。

讓我們試試這個。希望它能幫助你。 :)

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

    indexSubView += 1 
    if indexSubView >= self.view.subviews.count { 
     //do scrolling 
    } 
} 
相關問題