2016-04-08 10 views
0

ドラッグするたびに移動したいボタンがあり、タップするたびにセグを移動します。ドラッグのために、私はその方法を入れました:UIButton touchDragInsideが機能しない

skillsButtonReal.addTarget(self, action: #selector(ViewController.wasDragged(_:event:)), forControlEvents: UIControlEvents.TouchDragInside) 

func wasDragged (buttn : UIButton, event :UIEvent) 
{ 

    let buttonView = buttn as UIView; 
    let touches : Set<UITouch> = event.touchesForView(buttonView)! 
    let touch = touches.first! 
    let location = touch.locationInView(buttonView) 

    let previousLocation : CGPoint = touch .previousLocationInView(buttonView) 
    let delta_x :CGFloat = location.x - previousLocation.x 
    let delta_y :CGFloat = location.y - previousLocation.y 
    buttn.center = CGPointMake(buttn.center.x + delta_x, 
           buttn.center.y + delta_y); 

} 

これは呼び出されていますが、動かないものです。他に何を入れたり呼び出す必要がありますか?

答えて

0

私はこれがあなたの役に立つかもしれないと思う:

var panGesture: UIPanGestureRecognizer = UIPanGestureRecognizer(target: self, action: Selector("recognizePanGesture:")) 
panGesture.minimumNumberOfTouches = 1 
panGesture.maximumNumberOfTouches = 1 
buttonView.addGestureRecognizer(panGesture) 


func recognizePanGesture(sender: UIPanGestureRecognizer) 
{ 
    var translate = sender.translationInView(self.view) 
    sender.view!.center = CGPoint(x:sender.view!.center.x + translate.x, 
    y:sender.view!.center.y + translate.y) 
    sender.setTranslation(CGPointZero, inView: self.view) 
} 
+0

は、ご返信いただきありがとうございますが、今は2つの問題を抱えています。まず、ボタンがドラッグされないことです(ビューの最初の部分を正しいボタンでロードし、メソッドの2番目のメソッドをメソッドに追加することになっています)。もう1つの問題は、ボタンが次のVC。何が私はそこに間違っている? – Sergio

+0

この回答は合法ですが、彼はUIButtonsで動作する実際のイベントである "Touch Drag Inside"について質問しています。 –

+0

私にできることは他にありますか? – Sergio

関連する問題