CATransform3DMakeRotation에 이상한 문제가 있습니다. 회전 된 뷰는 슈퍼 뷰의 중심에있을 때, 그것은 다음과 같습니다CATransform3DMakeRotation의 이상한 전망
이보고 해야하는 방법이있다. 는 수퍼에서 다른 곳의 경우에는, 말하자면, 왼쪽 하단 모서리에, 그것은 다음과 같습니다가 오른쪽으로 기울어 져
하는 것으로. 오른쪽 아래 모서리에있을 때도 똑같은 일이 일어납니다. 단지 왼쪽으로 기울어 져 있습니다. 항상 모든면에서 기울여야 할 방향으로 기울일 수있는 방법이 있습니까? 다음과 같이 변환을 달성하는 코드는 다음과 같습니다 당신은 슈퍼 뷰의 계층에서 관점을 적용한
CALayer *layer = view.layer;
CATransform3D aTransform = CATransform3DIdentity;
float zDistance = 1000;
aTransform.m34 = 1.0/-zDistance;
self.view.layer.sublayerTransform = aTransform;
CABasicAnimation *rotateAnim = [CABasicAnimation animationWithKeyPath:@"transform"];
rotateAnim.fromValue= [NSValue valueWithCATransform3D:CATransform3DMakeRotation(0, 0, 0, 0)];
rotateAnim.duration=0.12;
rotateAnim.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeRotation(20*M_PI/180, 1, 0, 0)];
rotateAnim.removedOnCompletion = NO;
rotateAnim.fillMode = kCAFillModeForwards;
[layer addAnimation:rotateAnim forKey:@"rotateAnim"];
CATransform3D를 올바르게 구성하지 않았을 가능성이 있습니다. 대부분 번역 및 순환 게재가 서로 영향을 미치지 않는 것을 잊어 버릴 가능성이 높습니다. 변환을 생성하는 데 사용하는 코드를 게시하십시오. –
@RobNapier 코드 포함 – kopproduction