确定UIImageView是否已旋转

use*_*474 8 objective-c ios

我正在以这种方式旋转UIImageView:

-(IBAction)rotateImageView:(id)sender{
photoView.transform = CGAffineTransformRotate(photoView.transform, M_PI);
}
Run Code Online (Sandbox Code Playgroud)

如您所见,图像可以向上或向下.是否可以检测图像是上升还是下降,以便执行以下操作:

if(image is up)....
Run Code Online (Sandbox Code Playgroud)

Mat*_*hew 11

如果您只是想知道图像是否已使用仿射变换进行旋转,正如您的问题所暗示的那样,您可以这样做:

if (CGAffineTransformIsIdentity(photoView.transform)) { 
    // not rotated
    ...
} else {
    // rotated
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果要检查特定的旋转,请执行以下操作:

CGAffineTransform t = CGAffineTransformMakeRotation(M_PI);
if (CGAffineTransformEqualToTransform(photoView.transform, t)) {
    // rotated by M_PI
    ...
}
Run Code Online (Sandbox Code Playgroud)

请注意,只有在旋转变换的同时不对视图应用OTHER仿射变换时,上述两种解决方案才有效.如果您还要应用其他变换,也许您最好只跟踪变量中的旋转状态.