2017-03-16 85 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 
    } 
} 
相关问题