使用手势识别器IOS旋转时,x,y位置发生变化

时间:2016-08-04 12:26:29

标签: ios swift view uigesturerecognizer image-rotation

我正在制作一个IOS应用程序,我在其中旋转imageView。现在,一切都完成了。但是当旋转完成时。 x,y,该图像视图正在改变..如何解决它。我附上代码和截图,以便您轻松找到我的问题。

 let i = defaults.integerForKey("myown")

        let g = nViews[i].frame
            imageViews[i].transform = CGAffineTransformRotate(imageViews[i].transform, recognizer.rotation)

//            nViews[i].transform = CGAffineTransformRotate(imageViews[i].transform, recognizer.rotation)
//
          recognizer.rotation = 0
        if recognizer.state == UIGestureRecognizerState.Ended
        {

            let f = imageViews[i].frame
//            print(f.size.width)  -->111.576689146311

//            print(f.size.height) -->111.576689146311

//            nViews[i].frame = f
              nButtons[i].frame = CGRect(x: f.origin.x - 10, y: f.origin.y - 10, width: 25, height: 25)
//            imageView.addSubview(nViews[i])
            imageView.addSubview(nButtons[i])

        }

现在另一个视图在那个imageView上变成了矩形,因为它发生了变化。如截图第一次截图时,imageView没有旋转,视图很完美,但是当它旋转时,视图变成矩形..希望你现在能理解问题

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试使用边界而不是框架:let g = nViews[i].boundslet f = imageViews[i].bounds。见When to Use Bound and When to use Frame