gpt4 book ai didi

swift - 如何使用 IGListKit 在选择时对 UICollectionViewCell 进行动画处理

转载 作者:行者123 更新时间:2023-11-30 11:32:37 26 4
gpt4 key购买 nike

我无法使用 didHighlightItem 和 didUnhighlightItem 函数在单击单元格时正确设置动画,因为我无法访问单元格的节号。我想知道我是否错误地解决了问题,或者是否有一种方法可以访问 Collection View 中的SectionController的部分索引。我的代码如下:

class PersonSectionController: ListSectionController {
var current: Person?

override init() {}

override func didUpdate(to object: Any) {
if let person = object as? Person {
current = person
}
}

// Number of items displayed per object
override func numberOfItems() -> Int {
return 1
}

// Dequeue and configure cell
override func cellForItem(at index: Int) -> UICollectionViewCell {}

// Returns the required cell size at the given index
override func sizeForItem(at index: Int) -> CGSize {}

override func didHighlightItem(at index: Int) {
if let viewController = self.viewController as? PeopleViewController {
if let cell = viewController.peopleCollectionView.cellForItem(at: IndexPath(row: index, section: 0)) {
UIView.animate(withDuration: 0.1) {
cell.transform = CGAffineTransform(scaleX: 0.95, y: 0.95)
}
}
}
}

override func didUnhighlightItem(at index: Int) {
if let viewController = self.viewController as? PeopleViewController {
if let cell = viewController.peopleCollectionView.cellForItem(at: IndexPath(row: 0, section: index)) {
UIView.animate(withDuration: 0.1) {
cell.transform = CGAffineTransform.identity
}
}
}
}
}

提前致谢!

最佳答案

我认为您需要从collectionContext访问单元格:

override func didHighlightItem(at index: Int) {
guard let cell = collectionContext?.cellForItem(at: index) else { return }
// Animation stuff
}

关于swift - 如何使用 IGListKit 在选择时对 UICollectionViewCell 进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com