使用 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
}
}
所以我的问题是:
我是否使用正确的代码通过 Pan Gesture Recognizer 移动对象?
你会returnCGPoint
这个函数,你会怎么读它?
如何保存 UIImageView 在 segue 过程中和之后的位置?
呵呵...这个小虫子快要死了。我敢打赌,这很容易解决,但就我的初学者而言,我不知道如何:(
根据你的描述,有几种解决方案,我的是。
在firstViewController
中维护一个属性currentCenter
var currentCenter:CGPoint
在方法movement
中设置view.center
后添加以下行
currentCenter.x = view.center.x
currentCenter.y = view.center.y
然后prepareForSegue
如你所说。
希望此方法有所帮助!
美好的一天。
这是我最后的选择——在这里提问。
问题是:我正在构建多视图应用程序。在第一个屏幕上,我有 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
}
}
所以我的问题是:
我是否使用正确的代码通过 Pan Gesture Recognizer 移动对象?
你会return
CGPoint
这个函数,你会怎么读它?如何保存 UIImageView 在 segue 过程中和之后的位置?
呵呵...这个小虫子快要死了。我敢打赌,这很容易解决,但就我的初学者而言,我不知道如何:(
根据你的描述,有几种解决方案,我的是。
在firstViewController
currentCenter
var currentCenter:CGPoint
在方法movement
中设置view.center
currentCenter.x = view.center.x
currentCenter.y = view.center.y
然后prepareForSegue
如你所说。
希望此方法有所帮助!