在viewDidLayoutSubviews之后重置UIScrollView的contentOffset

时间:2017-03-16 02:49:22

标签: ios swift uiscrollview

我覆盖viewDidLayoutSubviews并设置contentOffset的{​​{1}}。但UIScrollview始终在contentOffset之前重置为(0,0)。我在viewDidAppearcontentOffsetviewWillAppear打印viewDidLayoutSubviews。结果如下。

viewDidAppear

我想在view will appear (0.0, 0.0) view did layout subviews (-37.5, -133.5) view did appear (0.0, 0.0) 变为可见之前设置contentOffset

我尝试了UIScrollView,但没有成功。

1 个答案:

答案 0 :(得分:0)

因为viewDidLayoutSubviews会调用每个孩子做布局。所以,也许你的滚动视图在你设置的时候没有布局。

试试吧。希望它可以帮到你。 :)

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

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