如何在tvOS应用程序中为collectionview的节头设置动画?

ck8*_*414 9 television ios swift tvos focus-engine

在此输入图像描述当焦点下方的集合单元格被聚焦时,需要为节标题标题设置动画.就像你去苹果电视上的"电影itunes"应用程序并转到顶部电影选项卡一样,如果你看下面的播放列表,当你滚动项目时,标题会动画,上下不与重点细胞重叠.任何帮助是赞赏tvos屏幕截图链接

小智 0

我无法准确提供代码;但这基本上就是您想要做的。

1 - 创建中介class headingRouter;其目的是在滚动视图标题(collectionView 或 tableView)和单元格选择之间进行协调。标题路由器的实例将存在于您的 collectionView 主级别方法中。您可以使用委托模式将图像逻辑抽象到routerCollectionView 上;符合委托以更新相关视图。

2 - 页眉和页脚就是所谓的supplementary view; 因此可以为它们分配任何自定义子类uiView。在这个 headerView 中;您应该有一个方法,可以接受标识符(可能的话)id并更改显示的图像。如果您希望它看起来像 iTunes,您可以使用淡入淡出来动画化此更改。

3 - 在您关注的细胞部分;cellForRowAt让单元格具有在委托/数据源方法中的方法期间分配的标识符。当聚焦于特定视图时;使用各种集合/表视图方法之一;你想获取那个ID;将其传递给您的headingRouter,这反过来会通知您的标头将其图像更改为与您正在聚焦的图像相对应的图像(可能保存在缓存中)。

这更多的是实现逻辑;但你还没有发布任何代码,所以没有太多细节。您可以不上课Router,但这是一个更干净的解决方案。

干杯