为什么contentView在scrollView中有y偏移量

时间:2016-04-08 19:34:20

标签: ios swift uiview uiscrollview

我尝试向scrollView添加子视图(UIView)以将内容定位在scrollView中,但我对可滚动内容以某个偏移量开始的原因感到困惑。

我的视图层次结构和约束看起来像这样

enter image description here

当我运行应用程序时(滚动视图的背景为粉红色,内容视图的背景颜色为黑色)

enter image description here

在我的故事板中,它看起来像这样

enter image description here

如果这可能会有所帮助,请参阅我的viewDidAppear方法:

User

我得到了

override func viewDidAppear(animated: Bool) {
        print(view.frame)
        print(baseView.frame) 
        print(scrollView.frame)
        print(scrollView.bounds)
        print(scrollView.contentSize)
        print(contentView.frame)
    }

2 个答案:

答案 0 :(得分:7)

请注意,滚动视图位于状态栏和导航栏下方(从y = 0开始)。

导航栏的高度= 44 points 状态栏的高度= 20 points

总计64 points

通常滚动视图从y = 0开始,因此UIViewController会自动更改其内容插入内容,以便内容不会隐藏在顶部栏下。

请参阅UIViewController.automaticallyAdjustsScrollViewInsets

您应该在控制器上将其设置为false

答案 1 :(得分:0)

在 viewDidLoad 中:

    scrollView.contentInsetAdjustmentBehavior = UIScrollView.ContentInsetAdjustmentBehavior.never