是否有可能使兩個collectionviews同步滾動,如果是,如何?使兩個UICollectionView的滾動與分頁啓用同步
我有這個類,含有兩個collectionviews - 一個與日期,和另一箇中,含有的tableview,具有匹配來自第一的CollectionView日期元件。 當我滾動日期或元素,我希望他們相互追隨。
下面是一些代碼,而我到目前爲止已經試過,但沒有任何運氣:
我加入了ScrollViewDelegate上我的課,並試圖此委託法:
func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.isEqual(dayCollectionView) {
var offset = contentCollectionView.contentOffset
offset.x = dayCollectionView.contentOffset.x
contentCollectionView.setContentOffset(offset, animated: true)
} else {
var offset = dayCollectionView.contentOffset
offset.x = contentCollectionView.contentOffset.x
dayCollectionView.setContentOffset(offset, animated: true)
}
}
這種方法一些工作怎麼樣,但是滾動視圖的只是去心理,並不能似乎停止滾動,當他們第一次開始滾動..
我也試過這樣:
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
if scrollView.isEqual(dayCollectionView) {
// Days
for cell in self.dayCollectionView.visibleCells() {
if let indexPath = dayCollectionView.indexPathForCell(cell) {
contentCollectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .None, animated: true)
}
}
} else {
// Classes
for cell in self.contentCollectionView.visibleCells() {
if let indexPath = contentCollectionView.indexPathForCell(cell) {
dayCollectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .None, animated: true)
}
}
}
}
這是最好的解決方案至今 - 但它仍然是不正是我想要的 - 這一個卷軸,當其他的CollectionView做滾動..但我希望他們滾動同步:-)
有什麼建議?
感謝隊友!我不是完全工作,但我認爲這是因爲我已啓用分頁。所以我認爲我會堅持做scrollViewDidEndDecelerating,即使它不完全是我想要的 - 但最接近我可以得到,我猜:/ –
但如果你有解決方案,我在聽;) –