将 UIView 设置为从左上角开始 (0,0)



我改编了一个UIPanGestureRecognizer,使用下拉来关闭视图。我这样做了,所以现在可以在 y 轴上拖动视图,如果 y 的变化大于 100,它会关闭视图。

override func viewDidLoad() {
    super.viewDidLoad()
    let myPanGestureRecognizer = UIPanGestureRecognizer(target: self, action: "myPanAction:")
    self.player.view.addGestureRecognizer(myPanGestureRecognizer)
}
func myPanAction(recognizer: UIPanGestureRecognizer) {
    let translation = recognizer.translationInView(self.view)
        if let myView = recognizer.view {
            myView.center = CGPoint(x: myView.center.x, y: myView.center.y + translation.y)
        }
        recognizer.setTranslation(CGPointZero, inView: self.view)
        if recognizer.state == UIGestureRecognizerState.Ended {
            let velocity = recognizer.velocityInView(self.view)
            if velocity.y > 100 {
                dismissViewControllerAnimated(true, completion: nil)
            } else {
                // Reposition Back                   
            }
        }
}
但是,

我想将视图定位回其原始位置,但是,我不知道该怎么做。

另外,我的方法是一种好方法还是一种非常原始的方法?

您能否尝试在// Reposition Back注释中添加以下代码:

let frame = myView.frame // Get the current view frame
frame.origin = CGPointZero // Change the frame origin to x:0 y:0
myView.frame = frame // Change the myView frame to frame

最新更新