2014-06-28 21 views
1

我想弄清楚如何使UIProgressView填充從右到左以及更高的progress值。我想如果我只是旋轉組件它會很好,但陰影現在看起來顛倒了。如何添加「垂直翻轉」轉換來完成任務?如何進行旋轉+翻轉複合變換?

注意,遮光問題影響<的iOS 7

這是我到目前爲止,代碼的第二行不能正常工作,這使得控制消失。

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); 

注: 我不想要進行動畫什麼

UPDATE:與其 試圖找出兩個變換來實現這一目標(即一個旋轉180°+ 180垂直翻轉),只有一個水平180°反轉應該達到相同。

回答

0

有點迂迴,但這樣做的伎倆......

CATransform3DGetAffineTransform(CATransform3DMakeRotation(M_PI, 0, 1, 0));

enter image description here

註銷變換

NSLog(@"%@",[NSValue valueWithCGAffineTransform:self.progress.transform]);

CGAffineTransform:{{-0.99999982,0,0,1},{0,0}}

,並顯示在您嘗試創建轉換缺少a-1.0

+0

就是這樣!我只是像這樣硬編碼:'myProgressView.transform = CGAffineTransformMake(-1,0,0,1,0,0);' – DTs