我很难修复此代码。
UIGestureRecognizer *tapGest = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
tapIt = (UITapGestureRecognizer *)tapGest;
[tapIt setNumberOfTapsRequired:2];
[tapIt setNumberOfTouchesRequired:1];
tapIt.delegate = self;
[pc1 addGestureRecognizer:tapIt];
我想将它(图像)旋转到另一个角度,例如0度,90度,180度,360度。 我需要添加什么?
答案 0 :(得分:1)
这是一个点击识别器,因此只要您点击(在您的情况下双击)特定视图,就会调用“tapped:”方法。
因此,在tapped:方法中,您将通过应用旋转变换来更改视图的旋转,如下所示:
- (void)tapped:(UIGestureRecognizer *)gesture {
// Rotate the view that was tapped to 90 degrees (pi/4)
UIView *tappedView = [gesture view];
[tappedView setTransform:CGAffineTransformMakeRotation(M_PI_4)];
}
要将视图旋转到另一个角度,您可以更改变换的角度参数。
如果您希望视图每次点击时添加90度,您可以通过旋转视图的现有变换然后再次设置它来执行此操作,如下所示:
CGAffineTransform newTransform = CGAffineTransformRotate([tappedView transform], M_PI_4);
[tappedView setTransform:newTransform];
答案 1 :(得分:1)
请使用UIImageView
课程,正确设置此课程的image
属性,将UIImageView
添加到任意UIViewController
,然后使用以下方法旋转 UIImageView
的机会:
_imageView.transform = CGAffineTransformMakeRotation(_angle);
(请不要忘记 _angle
必须是弧度的)
使代码的其余部分(从何处以及何时获得参数_angle
)仍然需要你。