에 내가보기 내가 대신 CATransform3D 자체의 CGAffineTransform의 self.transform를 사용하여 동일한 결과를 얻을 싶습니다CATransform3D에서 CGAffineTransform
- (void)pulse {
CATransform3D trasform = CATransform3DScale(self.layer.transform, 1.15, 1.15, 1);
trasform = CATransform3DRotate(trasform, angle, 0, 0, 0);
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform"];
animation.toValue = [NSValue valueWithCATransform3D:trasform];
animation.autoreverses = YES;
animation.duration = 0.3;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animation.repeatCount = 2;
[self.layer addAnimation:animation forKey:@"pulseAnimation"];
}
에 펄스 효과를 적용하기 위해 다음과 같은 기능을 사용하고 있습니다. layer.transform. 이것이 가능합니까?
을 호기심, 이유는 것 CTransform3D를 레이어에 적용했는지 CGAffineTransform을 뷰에 적용했는지 알고 싶습니다. 이미 이전 결과에서 원하는 결과를 얻고 있다면? –
self.layer.transform의 초기 값이 self.transform과 다르기 때문에 그렇습니까? – Abramodj
펄스 메서드에 오기 전에 뷰에 Affine 변환을 적용했지만 레이어에 손을 대지 않았으므로 변형이 해당 ID임을 나타냅니다. – Abramodj