我试图在一个集合视图中显示一个在另一个之上的单元格。我想要实现的布局在这个委托布局函数中得到了正确的描述:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: self.collectionView.frame.width, height: 190)
}
所以让我们举一个例子,我们有 20 个单元格要显示。我希望显示的第一个单元格是最后一个单元格。
现在我开始显示第一个单元格,然后以这种方式滚动到最后一个单元格:
self.collectionView.scrollToItem(at: collectionView.lastIndexpath(), at: .top, animated: true)
extension UICollectionView {
func lastIndexpath() -> IndexPath {
let section = max(numberOfSections - 1, 0)
let row = max(numberOfItems(inSection: section) - 1, 0)
return IndexPath(row: row, section: section)
}
}
如何在不必先显示第一个元素的情况下从结束元素开始显示集合视图?