【发布时间】:2018-11-12 17:37:39
【问题描述】:
我正在开发一个应用程序,该应用程序使用 UICollectionView 和垂直滚动的单元格。我已经使用 AutoLayout 设置了大部分界面。这是自动布局设置:
但是,滚动不会产生我想要的结果。有时,约束会变得混乱,GradientView 和 TextView 会显得迷失方向。 Here is a video displaying the scrolling effect.
这是我期望发生的:
这就是实际发生的情况:
背景中的紫色是Main Button。 Main Button 和 Shadow 定位正确,但 Gradient View 和 Text View 定位不正确。 Gradient View 和 Text View 分别具有浅灰色和白色背景色,如图所示,位置不正确。
我已尝试更新 scrollViewDidScroll 和 cellWillDisplay 方法中的约束,但都没有任何效果。
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