2017-03-27 12 views
1

SAConfettiViewフレームワークをXcodeプレイグラウンドで動作させようとしています。しかし、私が上のコードを使用すると、色とりどりアニメーションが表示されません。XcodeプレイグラウンドでSAConfettiViewを実行できません

import UIKit 
import PlaygroundSupport 

var view = UIView(frame: UIScreen.main.bounds) 
var confettiView: SAConfettiView! 
confettiView = SAConfettiView(frame: view.bounds) 
confettiView.type = .Star 
view.addSubview(confettiView) 
confettiView.startConfetti() 
view.backgroundColor = .red 
PlaygroundPage.current.liveView = view 
PlaygroundPage.current.needsIndefiniteExecution = true 

私は間違っていますか?

Download playground here

答えて

2

Sourcesフォルダ内のConfettiView.swiftが適切にイメージをロードしないためです。

は、このいずれかで彼らのimage(for type: ConfettiType) -> UIImage?メソッドを置き換えます。私はBundle.main.urlを使用

func image(for type: ConfettiType) -> UIImage? { 
    var fileName: String 

    switch type { 
    case .Confetti: 
     fileName = "confetti" 
    case .Triangle: 
     fileName = "triangle" 
    case .Star: 
     fileName = "star" 
    case .Diamond: 
     fileName = "diamond" 
    case let .Image(customImage): 
     return customImage 
    } 

    guard let url = Bundle.main.url(forResource: fileName, withExtension: "png"), 
     let data = try? Data(contentsOf: url) else 
    { 
     return nil 
    } 

    return UIImage(data: data) 
} 

は適切に紙吹雪のイメージをロードします。

enter image description here

関連する問題