2016-04-28 20 views
2

パンを回すことができるビュー(チ​​キン)がリリース時に元の位置に戻るはずです。今、パンジェスチャーが終わったら、チキンは消えてしまいます。ここでパンニング後に元の位置に戻ってきます

が私のコードです:

override func viewDidLoad() { 
     super.viewDidLoad() 

     // record original Position 
     originalChickenPosition = chicken.center 
     print(originalChickenPosition) // works fine 

     view.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: "handlePan:"))  
    } 


    func handlePan(panGesture: UIPanGestureRecognizer){ 

     switch panGesture.state{ 

     case .Began: 
      // start flying 

     case .Changed: 
      // follow the pan 
      let dCenter = panGesture.translationInView(view) 
      chicken.center = CGPointMake(chicken.center.x + dCenter.x, chicken.center.y + dCenter.y) 
      panGesture.setTranslation(CGPointZero, inView: view) 

     case .Ended: 
      // fly back 
      if originalChickenPosition != nil{ 
       chicken.center = originalChickenPosition! 
      } 

     default: break 

     } 
    } 

私はこれが見つかりました:Returning view to original position after pan gesture, swiftをしかし、それは別の問題のようです私の見解は、バックジャンプならば、私は幸せになります。

提案がありました。

+0

あなたは、自動レイアウトを使用していますか? – beyowulf

答えて

2

ビューに自動レイアウトを設定する必要があります。 YESの場合は、あなたがhandlePan(panGesture:UIPanGestureRecognizer)funcを元の位置

を設定した後、あなたが制約を更新してください{

​​
+0

ありがとうございました! – Myriam

+0

うれしかった!!! – SunilG

関連する問題