下面应该有帮助。棘手的部分是在添加带有框架的视图之后设置锚点,然后移动视图。我通过在没有框架的情况下启动 UIView,然后设置其层的位置、边界和锚点来解决这个问题。然后我使用旋转围绕锚点旋转。
CABasicAnimation *rotation;
rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotation.fromValue = [NSNumber numberWithFloat:0];
rotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
rotation.duration = 60.0;
rotation.repeatCount = HUGE_VALF;
UIView *myview = [[UIView alloc] init];
[self.view addSubview:myview];
[myview setBackgroundColor:[UIColor orangeColor]];
[myview.layer setPosition:CGPointMake(10, 10)];
[myview.layer setBounds:CGRectMake(0, 0, 100, 100)];
[myview.layer setAnchorPoint:CGPointMake(0, 0)];
[myview.layer addAnimation:rotation forKey:@"myAnimation"];
如果这不是最好的方法或有错误,请有人纠正我——我只知道我目前知道的——例如,我什么时候应该使用 . 或 f 浮动后。