To add falling snow effect on your existing view. Need to pass the events in to underlying view. Here is a sample code.
skView subclass of the SKView is passing the events to underlaying view.
class skView: SKView { required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override init(frame: CGRect) { super.init(frame: frame) } override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { let hitView:UIView? = super.hitTest(point, with: event) if(self == hitView) { return nil } return hitView } /* // Only override draw() if you perform custom drawing. // An empty implementation adversely affects performance during animation. override func draw(_ rect: CGRect) { // Drawing code } */ }
Project files is on the Github.