我在我的Swift + Sprite Kit游戏中使用iCarousel,用户已解锁并锁定了物品。
锁定的项目会显示一些信息,例如当前用户硬币,以及一些文本显示“解锁此信息:X金额”,如果轮播项目未锁定,则不显示任何该信息,只是一个显示“选择”的按钮。
现在,我开始工作了,但只有当我开始刷物品时才能工作,而不是第一次旋转木马出现。
为了做到这一点,我在carouselCurrentItemIndexDidChange()方法中做到了。当我滑动时,这显然会发生变化。
如何在开始时设置当前的轮播索引,然后我可以强制显示或不显示信息,具体取决于项目是锁定还是解锁,而不仅仅是在我开始滑动时?
要添加有关此内容的更多信息,请假设用户在索引4处选择了该项目,我在本地保存该索引。因此,如果用户关闭并打开游戏,则轮播应该从4开始而不是0。
提前致谢。
答案 0 :(得分:1)
您应该在viewForItemAtIndex: reusingView:
中设置轮播视图。此方法返回的视图应表示该轮播项的当前状态;如此锁定或"选择"酌情。
如果项目状态发生变化,您可以致电reloadItemAtIndex:
让iCarousel通过调用viewForItemAtIndex: reusingView:
请求该项目的更新视图。
您可以通过调用scrollToItemAtIndex:animated: