这是一个棘手的问题......
我在 View Controller 中有一个 ScrollView,里面有多个 CollectionView。 CollectionViews 是为水平滚动的个人资料照片设置的。
我希望 ScrollView 垂直滚动,而不是水平滚动。我使用以下代码对 ScrollView 执行此操作:
func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.contentOffset.x>0 {
scrollView.contentOffset.x = 0
}
if scrollView.contentOffset.x < 0 {
scrollView.contentOffset.x = 0
}
}
这按预期工作,我使用了 UIScrollViewDelegate 并将 ScrollView 设置为:
self.scrollView.delegate = self
现在是棘手的部分……CollectionView 不再水平滚动。我假设这是因为父 ScrollView 接管了 View ,和/或上面的代码也阻止了 CollectionView 中的水平滚动。
有人对我如何实现我的目标有一些想法吗?
干杯, 亚伦
最佳答案
在你的 scrollViewDidScroll 方法中尝试这样的事情
func scrollViewDidScroll(scrollView: UIScrollView) {
if (scrollView == self.scrollView) {
if scrollView.contentOffset.x>0 {
scrollView.contentOffset.x = 0
}
if scrollView.contentOffset.x < 0 {
scrollView.contentOffset.x = 0
}
}
}
因为collectionView也有scrollView的delegate。
希望这对您有所帮助。
关于ios - Swift - 水平 CollectionView 中的滚动停止在 UIScrollView 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37771552/