UIImageView 旋转问题 iOS
UIImageView issue with rotation iOS
我有一个带有平移和旋转手势的图像视图。平移和旋转按预期运行,但在某些时候我必须在更改图像时将图像视图恢复到其初始位置。为此,我再次将图像视图的框架设置为旧框架。框架已设置,但图像有时会缩小。任何帮助表示赞赏。
旋转代码如下
@objc fileprivate func handleRotationGesture1(sender:UIRotationGestureRecognizer)
{
if sender.state == .began || sender.state == .changed {
sender.view?.transform = (sender.view?.transform.rotated(by: sender.rotation))!
sender.rotation = 0
}
}
func repositionImages()
{
imageView1.frame = imageView1Frame
imageView2.frame = imageView2Frame
imageView1.transform = CGAffineTransform.init(rotationAngle: 0)
imageView2.transform = CGAffineTransform.init(rotationAngle: 0)
imageView1.image = UIImage.init(cgImage: (image1.cgImage)!, scale: (image1.scale), orientation: .up)
imageView2.image = UIImage.init(cgImage: (image2.cgImage)!, scale: (image2.scale), orientation: .up)
}
您想使用 .identity
重新定位 imageView 的变换。
imageView.transform = .identity
我有一个带有平移和旋转手势的图像视图。平移和旋转按预期运行,但在某些时候我必须在更改图像时将图像视图恢复到其初始位置。为此,我再次将图像视图的框架设置为旧框架。框架已设置,但图像有时会缩小。任何帮助表示赞赏。 旋转代码如下
@objc fileprivate func handleRotationGesture1(sender:UIRotationGestureRecognizer)
{
if sender.state == .began || sender.state == .changed {
sender.view?.transform = (sender.view?.transform.rotated(by: sender.rotation))!
sender.rotation = 0
}
}
func repositionImages()
{
imageView1.frame = imageView1Frame
imageView2.frame = imageView2Frame
imageView1.transform = CGAffineTransform.init(rotationAngle: 0)
imageView2.transform = CGAffineTransform.init(rotationAngle: 0)
imageView1.image = UIImage.init(cgImage: (image1.cgImage)!, scale: (image1.scale), orientation: .up)
imageView2.image = UIImage.init(cgImage: (image2.cgImage)!, scale: (image2.scale), orientation: .up)
}
您想使用 .identity
重新定位 imageView 的变换。
imageView.transform = .identity