1

我正在尝试将带有简单动画的 SKScene 添加到 UICollectionCell。

我在集合视图单元格的 .xib 文件中设置了我的 SKView。

如果我运行它并滚动,它会按预期工作。但是,如果我更改为也使用这些类型的单元格并开始滚动的不同视图控制器(在选项卡栏控制器中),它将卡住。

这是我添加 SKScene 的方式:

@interface MAPostCollectionViewCell ()

@property (strong, nonatomic) IBOutlet SKView *viewAnimation;
@property (strong, nonatomic) MAHeartAnimation *heartScene;

@end

@implementation MAPostCollectionViewCell

-(void)layoutSubviews{

    [super layoutSubviews];

    self.heartScene = [MAHeartAnimation sceneWithSize:self.viewAnimation.bounds.size];
    self.heartScene.scaleMode = SKSceneScaleModeAspectFill;

    [self.viewAnimation presentScene:self.heartScene]; 

}

@end

如果用户点击一个按钮,我只会触发动画。

但是对于这个问题的范围,动画并不重要,因为我没有触摸那个按钮,只是滚动 UICollectionView。

4

1 回答 1

0

事实证明,您不应该以这种方式使用 SpriteKit 和 UIKit。尽管它们是模块化框架,但以这种方式一起使用时它们的性能并不高。我最终通过使用 CALayers 将 UIKit 用于我想要的动画。

于 2016-04-28T11:43:24.900 回答