使用 UIPanGestureRecognizer 移动后保存并继续 UIImageView。 Swift

Save and segue UIImageView after moving with UIPanGestureRecognizer. Swift

美好的一天。

这是我最后的选择——在这里提问。

问题是:我正在构建多视图应用程序。在第一个屏幕上,我有 UIImageView,我可以使用 UIPanGestureRecognizer 函数移动:

@IBAction func movement(recognizer: UIPanGestureRecognizer) {

    let translation = recognizer.translationInView(self.view)

    if let view = recognizer.view {

        view.center = CGPoint(x:view.center.x + translation.x, y:view.center.y + translation.y)

    }

    recognizer.setTranslation(CGPointZero, inView: self.view)
}

这是移动东西的常用代码,我在 raywenderlich.com

所以我想要的是在与 UIImageView 元素交互之后以及在 segue 之后保存它的位置。

我相信我需要从这个函数 return CGPoint 并像这样继续它:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "showPlaylistDetail" {
            let playlistDetailController = segue.destinationViewController as! PlaylistDetailViewController

playlistDetailController.image2.center = image1.center

        }
    }

所以我的问题是:

  1. 我是否使用正确的代码通过 Pan Gesture Recognizer 移动对象?

  2. 你会returnCGPoint这个函数,你会怎么读它?

  3. 如何保存 UIImageView 在 segue 过程中和之后的位置?

呵呵...这个小虫子快要死了。我敢打赌,这很容易解决,但就我的初学者而言,我不知道如何:(

根据你的描述,有几种解决方案,我的是。

firstViewController

中维护一个属性currentCenter
var currentCenter:CGPoint

在方法movement中设置view.center

后添加以下行
currentCenter.x = view.center.x
currentCenter.y = view.center.y

然后prepareForSegue如你所说。

希望此方法有所帮助!