如何重置UIImageView转换属性

Rah*_*hul 5 iphone ipad

在我的项目中,我正在UIImageView上进行以下活动1.)旋转它2.)移动它3.)缩放它.我的项目还有一个名为"New"的按钮,它将重置app.my的所有设置问题是如果我旋转图像并单击新按钮,则UIImageVIew的设置不会改变.可以有人有任何想法.谢谢

-(void)rotate:(id)sender {

    if([(UIRotationGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) {

        lastRotation = 0.0;
        return;
    }

    CGFloat rotation = 0.0 - (lastRotation - [(UIRotationGestureRecognizer*)sender rotation]);

    CGAffineTransform oldTransform = [(UIPinchGestureRecognizer*)sender view].transform;
    CGAffineTransform newTransform = CGAffineTransformRotate(oldTransform,rotation);

    [[(UIRotationGestureRecognizer*)sender view] setTransform:newTransform];

    lastRotation = [(UIRotationGestureRecognizer*)sender rotation];
}
Run Code Online (Sandbox Code Playgroud)

以上代码我用于轮换.

Dee*_*olu 13

如果imageView是您的UIImageView对象,重置transform属性是使用,

imageView.transform = CGAffineTransformIdentity;
Run Code Online (Sandbox Code Playgroud)

此外,rotate:如果您不在lastRotation其他任何地方使用,可以稍微缩短方法.

-(void)rotate:(UIRotationGestureRecognizer *)gesture {
    UIView * view = gesture.view;
    view.transform = CGAffineTransformRotate(view.transform, gesture.rotation);
    gesture.rotation = 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 在swift 3中,它已被更改为imageView.transform = CGAffineTransform.identity; (2认同)