Je tournois un uiimageview de cette manière: Comme vous pouvez le voir, l'image peut soit être de haut en bas. Y a-t-il la possibilité de détecter si l'image est en hausse ou en bas, afin de faire quelque chose comme ceci: p>
3 Réponses :
Si vous voulez simplement dire si l'image a été tournée à l'aide d'une transformation affine, vous pouvez le faire:
CGAffineTransform t = CGAffineTransformMakeRotation(M_PI);
if (CGAffineTransformEqualToTransform(photoView.transform, t)) {
// rotated by M_PI
...
}
Un peu hors sujet, tandis que moi, parfois, faire des choses similaires dans mon code, il est recommandé de ne pas vues d'utiliser pour stocker des données (dans ce cas, la rotation de l'affichage de l'image), « bonne » solution serait d'avoir une propriété les données sous-jacentes ou dans un contrôleur et l'appliquer à la vue lorsque la propriété à jour.
Vous pouvez consulter l'angle du Photoview code>, si elle est de 0,00 cela signifie son et si ses 3 ou 3.13 ou d'une valeur proche de lui, puis il montre que son bas. (Vous pouvez vous connecter la valeur exacte de bas). P>
angle CGFloat = [(NSNumber *) [Photoview valueForKeyPath: @ "layer.transform.rotation.z"] floatValue];
NSLog (@ "% f", angle); code> p>
Swift 4 strong> if transform.isIdentity { }