So, I'm working on a selector that reminds users to pan an object, rather than clicking on it. The following code is an animation:
func labelTapped(sender:UITapGestureRecognizer)->Void{
UIView.animateWithDuration(0.2, delay: 0, options: UIViewAnimationOptions.CurveEaseIn, animations: {
sender.view.frame = CGRectMake(sender.view.frame.origin.x + 15, sender.view.frame.origin.y, sender.view.frame.width, sender.view.frame.height)
}, completion:
{(value:Bool) in
UIView.animateWithDuration(0.2, delay: 0, options: UIViewAnimationOptions.CurveEaseOut, animations: {
sender.view.frame = CGRectMake(sender.view.frame.origin.x - 15, sender.view.frame.origin.y, sender.view.frame.width, sender.view.frame.height)
}, completion:
{(value:Bool) in
})
})
}
Now back to the object itself. I select UITapGestureRecognizerand add it to the object, but I'm not sure how it works, since we used Objective-C again:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(labelTapped)];
where the parameter is not required. However, in Swift I will have to add the parameter to the bracket after labelTapped, as this will give me an error Missing argument for parameter #1 in call:
let labelTap1=UITapGestureRecognizer(target: self, action: labelTapped())
How do I solve this problem? thank!
source
share