【问题标题】:Adding SKScene to a UICollectionViewCell lowers scrolling performance将 SKScene 添加到 UICollectionViewCell 会降低滚动性能
【发布时间】:2016-04-27 18:41:57
【问题描述】:

我正在尝试将带有简单动画的 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。

【问题讨论】:

    标签: ios sprite-kit uicollectionviewcell skscene skview


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-16
      • 2021-04-05
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多