2016-04-28 206 views
2

我有一个视图(鸡)可以平移到应该返回到它的原始位置时释放。现在,当panGesture结束时,鸡只会消失。在平移之后返回查看它的原始位置

这里是我的代码:

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,但它似乎是一个不同的问题,我会很高兴,如果我的看法会跳回。

任何建议apreciated。

+0

是否使用自动布局? – beyowulf

回答

2

应该为视图设置自动布局。 如果是,那么请确保您设置好后原来的位置

FUNC handlePan(panGesture:UIPanGestureRecognizer)更新约束{

​​
+0

谢谢,那就是它! – Myriam

+0

很高兴工作! – SunilG

相关问题