为啥我的 UIView 在滚动时会在 UIScrollView 内移动?

Posted

技术标签:

【中文标题】为啥我的 UIView 在滚动时会在 UIScrollView 内移动?【英文标题】:Why is my UIView moving out of place inside UIScrollView when scrolled?为什么我的 UIView 在滚动时会在 UIScrollView 内移动? 【发布时间】:2016-07-20 22:18:25 【问题描述】:

所以我在 Xcode 中做了一个测试项目,看看如何使用 UITextFieldUILabels,它们是 UIView 的子视图。而UIViewUIScrollView 的子视图。因此,在viewDidAppear 中添加视图和代码之后,当我向下滚动时,UIView 会移出位置。

这是问题的视频:https://drive.google.com/file/d/0B5j_BdtRjSyARWp3cGQ1dkMzMFk/view?usp=sharing

请告诉我我做错了什么。

override func viewDidAppear(animated: Bool) 
    super.viewDidAppear(animated)

    scrollView.contentSize.height = 1000

    scrollView.contentSize.width = view.frame.width

    scrollView.showsHorizontalScrollIndicator = false
    scrollView.showsVerticalScrollIndicator = false

    scrollView.contentOffset.x = -8

    scrollView.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.25)
    scrollViewChildView.backgroundColor = UIColor.blueColor().colorWithAlphaComponent(0.25)

【问题讨论】:

【参考方案1】:

您尝试在使用自动布局系统定位视图后对其进行布局,因此在您将其强制为 layoutSubviews(拖动到底部)后,您的内容将按照您设置的指定偏移量移动它(x = -8 和 y = 0)。更多信息,参考this question

【讨论】:

以上是关于为啥我的 UIView 在滚动时会在 UIScrollView 内移动?的主要内容,如果未能解决你的问题,请参考以下文章

在 CellForRowAt 中包含用于自定义 UIView 的 nib 文件,在滚动时会产生 jerk

限制UIScrollView中的可滚动区域

为啥我在 UIScrollView 中的 UIView 不滚动?

为啥我的简单媒体查询在模拟手机时会产生滚动条[重复]

为啥我在使用这个 UIView 动画块时会看到生涩的动画?

为啥 .NET 运行时会在我的字符串中添加下划线?