Ios 如何进行旋转+;翻转复合变换?
我试图找出如何使Ios 如何进行旋转+;翻转复合变换?,ios,core-graphics,cgaffinetransform,Ios,Core Graphics,Cgaffinetransform,我试图找出如何使UIProgressView从右到左填充越来越高的progress值。我想,如果我只是旋转组件,它会很好,但阴影现在出现颠倒。如何添加“垂直翻转”变换以完成任务 请注意,着色问题影响
UIProgressView
从右到左填充越来越高的progress
值。我想,如果我只是旋转组件,它会很好,但阴影现在出现颠倒。如何添加“垂直翻转”变换以完成任务
请注意,着色问题影响CGAffineTransform rotateTransform = CGAffineTransformMakeRotation(M_PI); // rotate 180 degrees (but now it's upside down)
CGAffineTransform flipTransform = CGAffineTransformMake(0, 0, 0, 1, 0, 0); // flip 90 degrees to bring it the right way up
myProgressView.transform = CGAffineTransformConcat(rotateTransform, flipTransform);
注:
我不想做任何动画
更新:
不要试图找出两个变换来实现这一点(即,一个180旋转+180垂直反转),只需一个水平180反转就可以实现相同的效果。有点迂回,但这样做的技巧
CATTransformerM3dGetAffinetTransform(CATTransformerM3dMakeRotation(M_PI,0,1,0))代码>
注销转换
NSLog(@“%@,[NSValue valueWithCGAffineTransform:self.progress.transform])代码>
给予
CGAffineTransform:{-0.9999982,0,0,1},{0,0}
并在您尝试创建转换时显示缺少的a
值-1.0
。就是这个!我只是这样硬编码:myProgressView.transform=CGAffineTransformMake(-1,0,0,1,0,0)代码>