使用UIPanGestureRecognizer移动后保存并删除UIImageView。迅速

时间:2015-05-06 10:22:29

标签: ios iphone swift uiimageview uipangesturerecognizer

美好的一天。

这是我的最后一个选择 - 在这里问一下。

问题是:我正在构建多个视图应用。在第一个屏幕上,我有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之后的位置。

我相信我需要从这个函数返回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. 您如何从此功能返回CGPoint以及如何阅读?

  3. 如何在segue及之后保存UIImageView的位置?

  4. 呵呵......这个小虫子正在杀了我。我打赌,这很容易解决,但就我初学者而言,我不知道如何:(

1 个答案:

答案 0 :(得分:0)

根据您的描述,有几种解决方案,我会的。

public static List<String> findWithPrefixJava8(List<String> list, String prefix) { return list.stream() .filter(str -> str.startsWith(prefix)) .collect(Collectors.toList()); }

中维护一个属性currentCenter
firstViewController

在方法var currentCenter:CGPoint 中,在设置movement

后添加以下行
view.center

然后currentCenter.x = view.center.x currentCenter.y = view.center.y 如你所说。

希望这种方法有所帮助!