J'utilise ce qui suit pour redimensionner et repositionner un calque UIView lorsque l'appareil passe en mode paysage.Problème Transformation.Translation à la rotation
[containerView.layer setValue:[NSNumber numberWithFloat: 0] forKeyPath: @"transform.translation.x"];
[containerView.layer setValue:[NSNumber numberWithFloat: 0] forKeyPath: @"transform.translation.y"];
[containerView.layer setValue:[NSNumber numberWithFloat: 1] forKeyPath: @"transform.scale.x"]; //[NSNumber numberWithInt:1]
[containerView.layer setValue:[NSNumber numberWithFloat: 1] forKeyPath: @"transform.scale.y"];
puis le folowing lors de la rotation retour au portrait
[containerView.layer setValue:[NSNumber numberWithFloat: -75] forKeyPath: @"transform.translation.x"];
[containerView.layer setValue:[NSNumber numberWithFloat: 0] forKeyPath: @"transform.translation.y"];
[containerView.layer setValue:[NSNumber numberWithFloat: .7] forKeyPath: @"transform.scale.x"]; //[NSNumber numberWithInt:1]
[containerView.layer setValue:[NSNumber numberWithFloat: .7] forKeyPath: @"transform.scale.y"];
Le problème est que, après Rotaing retour au portrait, la couche est « en déplacement » ie x, y décalage changent progressivement (en augmentant x, décroissant y). Échelle semble bien (c'est-à-dire ne pas incrémenter, décrémenter sur les rotations répétées)
Quelqu'un peut-il suggérer une bonne solution?
Si je retire la balance en mode portrait, le problème disparaît, donc je pense que peut-être l'ordre est important. et ou dois-je séparer les opérations de transalte et d'échelle en méthodes séparées? –
Il est possible que la commande ait de l'importance. Essayez de mettre les opérations d'échelle après les traductions. – JAB