作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的项目中,我正在 UIImageView 上执行以下事件1.) 旋转它2.) 移动它3.) 缩放它。我的项目还有一个名为“New”的按钮,它将重置应用程序的所有设置。我的问题是,如果我旋转图像并单击新按钮,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];
}
上面的代码我用于旋转。
最佳答案
如果 imageView
是您的 UIImageView
对象,则可以使用以下方法重置 transform
属性:
imageView.transform = CGAffineTransformIdentity;
此外,如果您不在其他地方使用 lastRotation
,则可以稍微缩短 rotate:
方法。
-(void)rotate:(UIRotationGestureRecognizer *)gesture {
UIView * view = gesture.view;
view.transform = CGAffineTransformRotate(view.transform, gesture.rotation);
gesture.rotation = 0;
}
关于iphone - 如何重置 UIImageView 变换属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6715943/
我是一名优秀的程序员,十分优秀!