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

问题描述 投票:8回答:1

enter image description here当标题下方的集合单元格被聚焦时,需要为节标题标题设置动画。就像你去苹果电视上的“电影itunes”应用程序并转到顶部电影选项卡一样,如果你看下面的播放列表,当你滚动项目时,标题会动画,上下不与重点细胞重叠。任何帮助表示赞赏tvos screen shot link

ios swift tvos television focus-engine
1个回答
0
投票

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

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

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

3 - 在你的聚焦细胞部分;让单元格具有在委托/数据源方法中的cellForRowAt方法期间分配的标识符。当特定观点集中时;使用各种collection / tableView方法之一;你想要那个id;将它传递给你的headingRouter,然后它将通知你的标题将其图像更改为相应的图像(可能保存在缓存中)到你正在聚焦的图像。

这更多是实施的逻辑;但是你还没有发布任何代码,所以没有太多具体细节。你可以没有Router类,但这是一个更清洁的解决方案。

干杯

© www.soinside.com 2019 - 2024. All rights reserved.