iCarousel上的carouselCurrentItemIndexDidChange仅在我滑动

时间:2016-08-10 03:09:44

标签: ios swift sprite-kit icarousel

我在我的Swift + Sprite Kit游戏中使用iCarousel,用户已解锁并锁定了物品。

锁定的项目会显示一些信息,例如当前用户硬币,以及一些文本显示“解锁此信息:X金额”,如果轮播项目未锁定,则不显示任何该信息,只是一个显示“选择”的按钮。

现在,我开始工作了,但只有当我开始刷物品时才能工作,而不是第一次旋转木马出现。

为了做到这一点,我在carouselCurrentItemIndexDidChange()方法中做到了。当我滑动时,这显然会发生变化。

如何在开始时设置当前的轮播索引,然后我可以强制显示或不显示信息,具体取决于项目是锁定还是解锁,而不仅仅是在我开始滑动时?

要添加有关此内容的更多信息,请假设用户在索引4处选择了该项目,我在本地保存该索引。因此,如果用户关闭并打开游戏,则轮播应该从4开始而不是0。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您应该在viewForItemAtIndex: reusingView:中设置轮播视图。此方法返回的视图应表示该轮播项的当前状态;如此锁定或"选择"酌情。

如果项目状态发生变化,您可以致电reloadItemAtIndex:让iCarousel通过调用viewForItemAtIndex: reusingView:请求该项目的更新视图。

您可以通过调用scrollToItemAtIndex:animated:

将轮播滚动到特定项目