【发布时间】:2014-07-20 00:18:26
【问题描述】:
所以我正在开发一个选择器,提醒用户平移对象而不是点击它。 以下代码为动画:
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
})
})
}
现在回到对象本身。我正在分配一个 UITapGestureRecognizer 并将其添加到对象中,但我不太确定它是如何工作的,因为在 Objective-C 中,我们曾经这样做过:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(labelTapped)];
不需要参数。但是在 Swift 中,我必须在 labelTapped 之后的括号中输入一个参数,因为它会给我一个 Missing argument for parameter #1 in call 错误:
let labelTap1=UITapGestureRecognizer(target: self, action: labelTapped())
我应该如何解决这个问题?谢谢!
【问题讨论】:
标签: ios swift uitapgesturerecognizer