0

目前我有一個形象......一個電池圖標...核心動畫吧

_MeterBar = [[UIImageView alloc] initWithFrame:CGRectMake(25, 40, 50, 40)]; 
_MeterBar.image = [UIImage imageNamed:@"battery-empty-icon.png"]; 
_MeterBar.backgroundColor = [UIColor clearColor]; 

我試圖當值是添加一個動畫,顯示電池安裝到電池的特定點從Web服務器獲取。

獲取該值不成問題,但添加動畫是一個問題。我基本上覆制並粘貼了用戶之前回答的一些代碼,但我卡住了:/。當我添加動畫,沒有圖像.....

CABasicAnimation *scaleToValue = [CABasicAnimation animationWithKeyPath:@"transform.scale.x"]; 
scaleToValue.toValue = [NSNumber numberWithFloat:100.0f]; 
scaleToValue.fromValue = [NSNumber numberWithFloat:0]; 
scaleToValue.duration = 1.0f; 
scaleToValue.delegate = self; 
_MeterBar.layer.anchorPoint = CGPointMake(0.5, 1); 
[_MeterBar.layer addAnimation:scaleToValue forKey:@"scaleRight"]; 
CGAffineTransform scaleTo = CGAffineTransformMakeScale(1.0f, 50.0f); 
_MeterBar.transform = scaleTo; 

[_PowerNowView addSubview:_MeterBar]; 

電池圖標比高大所以我從0動畫更寬 - >一個在x軸上百分比。

如果任何人有任何提示,技巧或樣品,這是否準確動畫的例子,我將非常感謝您的幫助:)

謝謝。

P.S.繼承人的電池圖標,我發現的網址:Battery Icon

對不起,我沒有說清楚,但我想有電池圖標的顏色層單獨...

我想創建在一個酒吧電池圖像,並有條動態的動作相對於電池的大小....實際上並沒有調整電池圖像本身的大小....

所以會有兩層,一個是電池,主要是靜態大小和另一層是彩色的BAR,可能是一個綠色的顏色來表示填充的電池圖像的數量。

我想要做的是MINT應用程序的一個很好的參考,它的目的是記錄您的銀行對賬單。

Final Animation

最終的動畫電池上面是很不錯,但我只是想顯示電池內的酒吧,相對於拉動數據值製作動畫。

回答

1

一些事情。

您的比例爲100會使您的圖層比正常情況大100倍。如果一邊是300像素,則100的比例將顯示爲邊上的30,000像素。

您希望您的縮放值至1.0,而不是100。

而且,我不知道,如果縮放被越來越因素變換乘以以前的規模。如果是這樣,那麼起始比例值0將防止它不斷增長,因爲任何時間零仍然是零。嘗試一個從.0001而不是0.0的值,

如果你想讓你的電池圖像從左到右增長,你不希望你的定位點是(0,.5)而不是(.5, 1)?

而且,當您更改定位點時,它不僅會更改轉換中心,而且還會移動圖像的位置。您需要調整位置以進行補償。我總是不得不撓撓頭腦,想想它真的很難(而且通常都會弄錯它),但我認爲你會想將視圖的X位置向右移動一半寬度。

請注意,縮放您的圖像會導致它拉伸奇怪。它將開始短而胖,並伸展到正常大小。

將CAShapeLayer作爲遮罩層附加到視圖上可能會更好,並且可以將形狀圖層的路徑從空矩形(寬度= 0,高=視圖高度)設置爲矩形,該矩形爲全尺寸的看法。這將導致視圖在「擦除」動畫中生成動畫,從左到右透露而不伸展。