如何在Swift中修复UIPinchRecognition?

时间:2018-04-09 14:34:54

标签: swift uipinchgesturerecognizer

我试图制作一个我可以捏views的应用。我使用了两个形状,一个正方形和一个圆形。我也使用了两个ViewControllers。形状位于FirstViewController。捏合效果很好,但是当我转到SecondViewController然后再回到FirstViewController时,形状会自行改变它们​​的大小。

  

这是视觉上的解释。   enter image description here

我使用的代码:

//Go to SecondViewController
@IBAction func goToSecondVC(_ sender: Any) {

    let vc = storyboard?.instantiateViewController(withIdentifier:
        "SecondViewController") as! SecondViewController
    self.navigationController?.pushViewController(vc, animated: true)
}

//Pinch
func pinchToZoom(targetView: UIView, sender: UIPinchGestureRecognizer) {
    let scale = sender.scale
    let currentTransform = targetView.transform
    targetView.transform = targetView.transform.scaledBy(x: scale, y: scale)
    sender.scale = 1
}

@IBAction func squarePinch(_ sender: UIPinchGestureRecognizer) {
    pinchToZoom(targetView: squareView, sender: sender)
}

@IBAction func circlePinch(_ sender: UIPinchGestureRecognizer) {
    pinchToZoom(targetView: circleView, sender: sender)
}

注意:我使用Main.storyboard所以我在那里创建了Pinch手势。

我尝试了几乎所有东西,但仍然相同。问题是形状本身正在改变它们的大小,它们应该在我离开时保持不变。

我希望我很清楚,谢谢你的贡献。

0 个答案:

没有答案