如何继续旋转图像

有一个按钮,我想将图像旋转180,当我按一下按钮,但它只能当我第一次点击该按钮,如何继续旋转图像,在此先感谢? 下面是我的源代码:

- (IBAction)touchButton_Refresh { photo *photos = [photoArray objectAtIndexhotoIndex]; NSData *xmlData = [NSData dataWithContentsOfFilehotos.localPath]; UIImage *image; if ([xmlData isKindOfClass:[NSData class]]) { image = [[UIImage imageWithData:xmlData] retain]; } SlideItem *slideItemRotate; if (toOrientation == 1 || toOrientation == 2) { slideItemRotate = [[SlideItem alloc] initWithFrame:CGRectMake(768*photoIndex, 0, 768, 980)]; } else if (toOrientation == 3 || toOrientation == 4) { slideItemRotate = [[SlideItem alloc] initWithFrame:CGRectMake(1024*photoIndex, 0, 1024, 700)]; } slideItemRotate.photoImageView.image = image; CGAffineTransform rotation = CGAffineTransformMakeRotation(3.14159265); [slideItemRotate.photoImageView setTransform:rotation]; [[[slideScrollView subviews] objectAtIndex:0] removeFromSuperview]; [slideScrollView addSubview:slideItemRotate]; [slideItemRotate release]; }

--------------解决方案-------------

你必须串联的变换分析,否则你只是一味地应用相同的旋转(实际上没有旋转更)。 因此,更换这些线路:

CGAffineTransform rotation = CGAffineTransformMakeRotation(3.14159265);
[slideItemRotate.photoImageView setTransform:rotation];

有了这个:

CGAffineTransform rotation = CGAffineTransformConcat([[slideItemRotate photoImageView] transform], CGAffineTransformMakeRotation(3.14159265));
[slideItemRotate.photoImageView setTransform:rotation];

这实际上将串联的转动,并保持该图像左右旋转。 另一种方式来做到这一点,如果你总是绕来绕去180度是测试的身份转换。 如果视图的变换是恒等变换,应用旋转。 如果不是,重置转换到恒等变换(有效地反转处理)。

分类:iphone 时间:2015-03-15 人气:0
本文关键词: iphone
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.473 (s). 10 q(s)