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

Swift-拖动按钮从一个位置到另一个位置

我正在尝试使用UITouch将按钮从一个位置拖动到另一个位置.但是我无法拖动它.我在添加按钮目标时遇到问题…

我的代码

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view,typically from a nib.
     let btn_swap = UIButton.buttonWithType(UIButtonType.Custom) as UIButton!
    btn_swap .setTitle("Drag Me",forState: UIControlState.normal)
    btn_swap.backgroundColor = UIColor.yellowColor()

    btn_swap.addTarget(self,action: "wasDragged:",forControlEvents: UIControlEvents.TouchDragInside)

    btn_swap.frame = CGRectMake((self.view.bounds.size.width - 100)/2.0,(self.view.bounds.size.height - 50)/2.0,100,50)

    self.view.addSubview(btn_swap)
    self.creation_of_btn()
 }

func wasDragged (buttn : UIButton,event :UIEvent)
{
    var touch : UITouch = event.touchesForView(buttn) . anyObject() as UITouch
    var prevIoUsLocation : CGPoint = touch .prevIoUsLocationInView(buttn)
     var location : CGPoint = touch .locationInView(buttn)
    var delta_x :CGFloat = location.x - prevIoUsLocation.x
      var delta_y :CGFloat = location.y - prevIoUsLocation.y
    buttn.center = CGPointMake(buttn.center.x + delta_x,buttn.center.y + delta_y);

}
你给按钮选择了一个错误的选择器.Dragged:.因为你的动作方法看起来像
func wasDragged (buttn : UIButton,event :UIEvent)
{
}

slector应该是wasDragged:event:.

btn_swap.addTarget(self,action: "wasDragged:event:",forControlEvents: UIControlEvents.TouchDragInside)

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

相关推荐