gpt4 book ai didi

tvos - 如何将聚焦的 UICollectionViewCell 居中?

转载 作者:行者123 更新时间:2023-12-04 17:46:32 24 4
gpt4 key购买 nike

我想要实现的很简单:每次用户聚焦一个集合 View 单元格时,我想让聚焦的单元格水平居中。看来我目前的方法根本不起作用。

    func collectionView(collectionView: UICollectionView, didUpdateFocusInContext context: UICollectionViewFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
guard collectionView === self.categoryCollectionView else {
return
}
guard let indexPath = context.nextFocusedIndexPath else {
return
}

collectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .CenteredHorizontally, animated: true)
}

奇怪的是,集合 View 忽略了在任何地方滚动的任何尝试。出于测试目的,我将索引路径更改为集合 View 中最后一项的索引路径,但它仅在集合 View 第一次出现时才有效。

最佳答案

诀窍是确保您已设置 UICollectionView scrollEnabled = false。

override func didUpdateFocusInContext(context: UIFocusUpdateContext, 
withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
if let focusedView = context.nextFocusedView as? UITableViewCell {
collectionView.scrollEnabled = false
let indexPath = collectionView.indexPathForCell(focusedView)!
collectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .CenteredHorizontally, animated: true)
}
}

关于tvos - 如何将聚焦的 UICollectionViewCell 居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32991933/

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