【问题标题】:Autolayout Constraints Shifted in UICollectionView在 UICollectionView 中移动的自动布局约束
【发布时间】:2018-11-12 17:37:39
【问题描述】:

我正在开发一个应用程序,该应用程序使用 UICollectionView 和垂直滚动的单元格。我已经使用 AutoLayout 设置了大部分界面。这是自动布局设置:

但是,滚动不会产生我想要的结果。有时,约束会变得混乱,GradientViewTextView 会显得迷失方向。 Here is a video displaying the scrolling effect.

这是我期望发生的:

这就是实际发生的情况:

背景中的紫色是Main ButtonMain ButtonShadow 定位正确,但 Gradient ViewText View 定位不正确。 Gradient ViewText View 分别具有浅灰色和白色背景色,如图所示,位置不正确。

我已尝试更新 scrollViewDidScrollcellWillDisplay 方法中的约束,但都没有任何效果。

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    bigCollection.updateConstraints()
    for cell in bigCollection.visibleCells {
        cell.updateConstraints()
    }
}

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
    cell.updateConstraints()
}

在滚动时更改约束的可能原因是什么?提前致谢。

【问题讨论】:

    标签: ios swift scroll uicollectionview autolayout


    【解决方案1】:

    GradientView 的顶部、左侧、右侧将为零 (0) 与您的“mainButton”,而 GradientView 的底部将类似于 TextView 的 30(根据您的需要)。 与您的 TextView 相同。使用 mainButton 时 left、right、bottom 将为 0,而 GradientView 的 Top 将为 30。

    您的 GradientView 和 TextView 约束设置为主视图,这就是它发生的原因。你可以试试我的建议吗?让我知道吗?

    【讨论】:

    • 这个建议有什么问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    相关资源
    最近更新 更多