我正在制作一个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没有旋转,视图很完美,但是当它旋转时,视图变成矩形..希望你现在能理解问题
答案 0 :(得分:1)
尝试使用边界而不是框架:let g = nViews[i].bounds
和let f = imageViews[i].bounds
。见When to Use Bound and When to use Frame