2016-04-27 40 views
0

我想添加一个简单的动画SKScene到UICollectionCell。SKScene添加到UICollectionViewCell降低滚动性能

我已经在集合视图单元的.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。

回答

0

事实证明,你不应该这样使用SpriteKit和UIKit。尽管它们是模块化的框架,但是当以这种方式使用时,它们并不是高性能的。通过使用CALayers,我最终使用了UIKit来创建我想要的动画。