Après avoir appliqué une transformation de rotation sur un simple UIView qui a les contraintes suivantes p> i obtenir deux résultats différents entre iOS7 .1 et iOS8 Beta 5: p> iOS7.1 P> <UIView: 0x16e5a530; frame = (-110 140; 270 50); transform = [0, -1, 1, 0, 0, 0]; opaque = NO; layer = <CALayer: 0x16e61880>>
3 Réponses :
Essayez d'ajouter la vue simple à une vue de conteneur. J'ai vu des problèmes similaires dans au moins deux de mes points de vue et dans les deux cas les ajoutant à une vue de conteneur semble résoudre le problème. P>
Qu'est-ce que je veux dire par une vue de conteneur, il suffit simplement d'ajouter la vue simple à un UIView, puis appliquez la contrainte et la rotation au conteneur à la place. P>
pas vraiment une solution, mais plus d'un travail autour. em> J'ai trouvé que les contraintes de haut, de fond, de gauche et de droite se comportent différemment lorsque vous construisez sur iOS 8 VS iOS 7 lors de l'utilisation de CGAFFILETANSFORMAtation . Cependant, Centrex et Centy se comportent de la même manière pour chacun. De plus, les contraintes de hauteur et de largeur se comportent de la même manière que vous Donc, si vous pouvez donc changer votre contraintes pour une vue qui utilise cgaffinetransformMakerotation pour seulement utiliser la hauteur, la largeur, le centrex, la centrale, vous devriez pouvoir disposer des mêmes contraintes d'apparaître la même lorsque vous construisez sur les deux versions iOS. P> ci-dessous est un exercice de mon propre code, qui me donnait la même mise en page quelle que soit la version iOS: p> addConstraintres code> à la même vue que vous
contraintwithitem code>. P>
@Property (nonatomic) CGAFFINETRANSFORMUNFORT TRANSFORMER P>
L'origine de la transformation est la valeur de la propriété centrale, ou la propriété AnchorPoint de la couche si elle a été modifiée. (Utilisez le calque propriété pour obtenir l'objet de couche d'animation de base sous-jacent.) Le La valeur par défaut est CGAFFINETRANSELITY. P> blockQuote>
Vous devez définir le point d'ancrage de votre vue avant la rotation. p>
p>
Viewview.layer.RanchorPoint = CGPointMake (0,5, 0,5); P> blockQuote>
i> p>
Les valeurs doivent être comprises entre 0 et 1. P>
p>
échantillon ici A > p>
peut être modifié la valeur par défaut CGAFINETRANSELIDENTITY? P>
J'ai un problème similaire et je suis presque totalement certain que c'est due à la manière dont ils ont tout rendu interface orienté sur iOS 8 (modifiant essentiellement comment le point d'origine des systèmes de coordonnées est déterminé) mais je n'ai pas bien cloué si c'est tout, ou s'il y a un bogue dans iOS 8, ou quoi. Pour l'instant, j'ai modifié la seule petite section de mon application qui utilise la rotation pour utiliser des CGRRES calculées (UGH)
Toute solution à ce problème?
Rien encore, il faut vérifier la dernière version de l'IOS8. Je vais mettre à jour.
Avez-vous trouvé une solution encore? Je n'ai pas ... avancé votre question.
Vous n'avez pas encore vérifié cela sur iOS 8 GM?
J'ai aussi ce problème avec une transformation d'échelle.