I add UITapGestureRecognizer:tapGesture , I want the klikPlay() tag to perform its actions when I click (touch) it.
when I run the code and press / touch the label, it gives this error:
unrecognized selector sent to instance.
This is about the Player(named: label) label Player(named: label) , UITapGestureRecognizer(named:tapGesture) and the klikPlay function
What am I doing wrong?
override func didMoveToView(view: SKView) { let background = SKSpriteNode(imageNamed: "bgStart2") background.position = CGPoint(x:0, y:0) background.anchorPoint=CGPoint(x:0,y:1.0) background.size = frame.size addChild(background) //label Play var label: UILabel = UILabel() label.frame = CGRectMake(frame.size.width/4, frame.size.height/9, frame.size.width, frame.size.height/6) label.text = "Play" label.font = UIFont(name: "Noteworthy-Bold", size:50) label.textColor = UIColor.whiteColor() label.textAlignment = NSTextAlignment.Center label.center = CGPointMake(frame.size.width/2, 4 * frame.size.height/8 ) label.hidden = false //label map var label2: UILabel = UILabel() label2.frame = CGRectMake(frame.size.width/4, frame.size.height/9, frame.size.width, frame.size.height/6) label2.text = "Map" label2.font = UIFont(name: "Noteworthy-Bold", size:50) label2.textColor = UIColor.whiteColor() label2.textAlignment = NSTextAlignment.Center label2.center = CGPointMake(frame.size.width/2, 5 * frame.size.height/8 ) label2.hidden = false //label sounds var label3: UILabel = UILabel() label3.frame = CGRectMake(frame.size.width/4, frame.size.height/9, frame.size.width, frame.size.height/6) label3.text = "Sounds" label3.font = UIFont(name: "Noteworthy-Bold", size:50) label3.textColor = UIColor.whiteColor() label3.textAlignment = NSTextAlignment.Center label3.center = CGPointMake(frame.size.width/2, 6 * frame.size.height/8 ) label3.hidden = false //label info var label4: UILabel = UILabel() label4.frame = CGRectMake(frame.size.width/4, frame.size.height/9, frame.size.width, frame.size.height/6) label4.text = "Info" label4.font = UIFont(name: "Noteworthy-Bold", size:50) label4.textColor = UIColor.whiteColor() label4.textAlignment = NSTextAlignment.Center label4.center = CGPointMake(frame.size.width/2, 7 * frame.size.height/8 ) label4.hidden = false self.view?.addSubview(label) self.view?.addSubview(label2) self.view?.addSubview(label3) self.view?.addSubview(label4) label.userInteractionEnabled = true label2.userInteractionEnabled = true label3.userInteractionEnabled = true label4.userInteractionEnabled = true //the UITapGestureRecognizer let tapGesture = UITapGestureRecognizer(target: self, action: "klikPlay:") label.addGestureRecognizer(tapGesture) view.addGestureRecognizer(tapGesture) //the functions I want to run func klikPlay(sender:UITapGestureRecognizer){ var scene:GameScene! self.runAction(SKAction.sequence([SKAction.waitForDuration(0.0), SKAction.runBlock({ // var transition:SKTransition = SKTransition.flipHorizontalWithDuration(0.5) var scene1:SKScene = GameScene(size: self.size) self.view?.presentScene(scene1) label.removeFromSuperview() label2.removeFromSuperview() label3.removeFromSuperview() label4.removeFromSuperview() background.removeFromParent() }) ] )) } }
uilabel swift touch-event
DNC
source share