【问题标题】:UIScrollView's contentOffset being reset after viewDidLayoutSubviewsUIScrollView 的 contentOffset 在 vi​​ewDidLayoutSubviews 之后被重置
【发布时间】:2017-08-07 01:21:39
【问题描述】:

我覆盖viewDidLayoutSubviews 并设置我的UIScrollviewcontentOffset。但是contentOffset 总是在viewDidAppear 之前重置为 (0, 0)。我在viewWillAppearviewDidLayoutSubviewsviewDidAppear 中打印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,但没用。

【问题讨论】:

    标签: ios swift uiscrollview


    【解决方案1】:

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

    让我们试试这个。希望它可以帮助你。 :)

    let indexSubView = 0
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
    
        indexSubView += 1
        if indexSubView >= self.view.subviews.count {
          //do scrolling
        }
    }  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多