UIButton actually has a booleans that you need to assigned for different activities, one of those booleans being called highlighted.
If you are using the View builder, it would be under the Attribute inspector on the right hand side, otherwise you would use btnHighlight.highlighted, where btnHighlight is the name of your outlet to the button
edit: if you have to absolutely use uilabel, you can do many things like assign gestures inside the label class or overriding the touchesEnded event
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
super.touchesEnded(touches, withEvent: event)
for touch in touches
{
let location = touch.locationInNode(self);
self.highlighted = true; //I am not sure how you would be handling this, this will run for every time a new touch happens.
break;
}
if(touches.count == 0)
{
self.highlighted = false;
}
}
Note, you may have to do casting on touch