我有一个UIView
,在此UIView
我有8个按钮。我需要每次都旋转UIVIew
所以我使用下面的代码:
CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
fullRotation.fromValue = [NSNumber numberWithFloat:0];
fullRotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
fullRotation.duration = 30;
fullRotation.repeatCount = MAXFLOAT;
[self.menuView.layer addAnimation:fullRotation forKey:@"360"];
它可以正确旋转我的视图,但我无法触摸旋转按钮。由于父视图正在旋转且按钮也将旋转,因此Touch无法正常工作。感谢
答案 0 :(得分:0)
因为您旋转了图层。我认为你不能做你需要的,但尝试使用CGAffineTransform
CGAffineTransform transform //desired transform
[UIView animateWithDuration:time
animations:^{menuView.transform = transform;}];
并通过计时器调用它。
答案 1 :(得分:0)
正常视图触摸在动画期间无法正常工作。动画只会使视图看起来像移动。他们的实际坐标不动。
如果您想支持点击对象,则需要使用表示层的hitTest方法在超级视图级别滚动自己的点击处理代码。
我在github上有一个示例项目,展示了如何做到这一点: