4
このコード:(自己NSViewのサブクラスである)コアアニメーションアンカーポイントが無視されていますか?
rotate = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotate.duration = 5;
rotate.toValue = [NSNumber numberWithFloat:(2*pi)];
rotate.repeatCount = INFINITY;
rotate.removedOnCompletion = NO;
rotate.fillMode = kCAFillModeForwards;
NSLog(NSStringFromPoint(CGToNSPoint([self layer].anchorPoint)));
[self layer].anchorPoint = CGPointMake(0.5, 0.5);
NSLog(NSStringFromPoint(CGToNSPoint([self layer].anchorPoint)));
[[self layer] addAnimation:rotate forKey:@"constantRotation"];
は、その中心の周りに私の層を回転させるべきです。アンカーポイントを(0.5、0.5)に設定しましたが、ビューはまだその原点を中心に回転しています。どうしてこれが起こっているのですか?私は役に立たなかったので、私はちょうど私がちょうど行方不明であることを本当に簡単なものだと確信しています...
NSLogは正しい値を報告しているようです。最初のレポートは(0,0)、2番目のレポートは(0.5,0.5)
答えがありません。 self.layerのアンカーポイントを別の場所に設定するかどうかは不思議です。 (docs)[http://developer.apple.com/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html#//apple_ref/occ/instp/CALayer/anchorPoint]によると(0.5、0.5) ... – EightyEight
原点を中心に回転すると言うと、左下隅を意味しますか? –