微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 在Swift中获取UITapGestureRecognizer的发件人

所以我正在研究一种选择器,它提醒用户平移对象而不是点击它.
以下代码是动画:

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,options: UIViewAnimationoptions.CurveEaSEOut,animations: {
                sender.view.frame = CGRectMake(sender.view.frame.origin.x - 15,sender.view.frame.height)
                },completion:
                {(value:Bool) in
                })
        })
}

现在回到对象本身.我正在分配一个UITapGestureRecognizer并将其添加到对象中,但我不确定它是如何工作的,因为回到Objective-C,我们曾经做过:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(labelTapped)];

其中不需要参数.但是在Swift中,我必须在labelTapped之后的括号中加入一个参数,因为它会在调用错误中给出参数#1的Missing参数:

let labelTap1=UITapGestureRecognizer(target: self,action: labelTapped())

我该如何解决这个问题?谢谢!

解决方法

动作选择器是一个以冒号结尾的字符串,它告诉它有一个参数(发送者):

let labelTap1=UITapGestureRecognizer(target: self,action: "labelTapped:")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐