1

J'ai une vue de l'image avec des mouvements de panoramique et de rotation. Le panoramique et la rotation fonctionnent comme prévu, mais à un moment donné, je dois placer l'image dans sa position initiale lorsque je change l'image. Pour cela, je redéfinis le cadre de l'image sur l'ancien cadre. Le cadre est défini mais l'image est parfois réduite. toute aide est appréciée. Code pour la rotation est comme ci-dessousUIImageView problème avec 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) 

} 

Répondre

1

Vous souhaitez utiliser .identity pour repositionner la transformation du imageView.

imageView.transform = .identity 
+0

ne fonctionne pas mec :( – jegadeesh

+0

Merci pour votre aide.Il a fonctionné, mais j'ai fait une erreur dans la définition du cadre avant d'appliquer la transformation à la vue de l'image – jegadeesh

+0

Je suis heureux que je pourrais être utile! –

0
func repositionImages() 
{ 

    imageView1.transform = .identity 
    imageView2.transform = .identity 
    imageView1.frame = imageView1Frame 
    imageView2.frame = imageView2Frame 

} 

Ce code a fait l'affaire. Je définissais le cadre avant de changer la propriété de transformation de la vue d'image. Changer cela a fait le travail. Merci Jeron pour votre aide.