0

현재 내가 이미지 ... 배터리 아이콘 ...코어 애니메이션 바

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

나는 값이 때 배터리의 특정 지점에 배터리 장착을 보여주는 애니메이션을 추가하려고하고 있습니다 웹 서버에서 가져옵니다.

값을 가져 오는 것은 문제가되지 않지만 애니메이션을 추가하는 것은 문제가됩니다. 기본적으로 사용자가 전에 응답 한 코드를 복사하여 붙여 넣었지만 멈추었습니다. /. x 축에> 비율 - 나는 애니메이션을 추가 할 때,

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에서 애니메이션있어 키보다 더 넓은 ..... 더 이미지가 없습니다. 사람이 정확한 애니메이션을 수행 힌트, 팁, 또는 샘플 예제가있는 경우

, 나는 크게 도움 :

감사합니다 감사하겠습니다.

P. Heres는 내가있는 배터리 아이콘의 URL : Battery Icon

... 분명히 존재하지만 배터리 아이콘의 색상 층의 별도을하고 싶은 없습니다 죄송합니다

내가 이상 줄을 만들고 싶습니다

배터리 이미지를 표시하고 배터리의 크기에 따라 동적으로 애니메이션을 적용합니다 .... 실제로 배터리 이미지 자체의 크기를 조정하지 않음 ....

그래서 두 개의 레이어가있을 것입니다. 다른 하나는 채색 된 BATTERY 이미지의 양을 나타 내기 위해 색상이 지정된 BAR입니다.

내가하고 싶은 것은 은행 문을 기록하는 용도 인 MINT 애플리케이션입니다.

Final Animation

최종 애니메이션 배터리 위의 아주 좋은 난 그냥 배터리 내에서 줄을 표시하고 가져온 데이터 값에 대한 그것을 애니메이션 싶습니다.

답변

1

몇 가지.

귀하의 척도가 100 인 경우 귀하의 계층이 평상시보다 100 배 크게됩니다. 한 쪽면이 300 픽셀이면 100의 눈금이 측면에 30,000 픽셀로 표시됩니다.

당신은 당신이 (가) 성장 요인에 의해 곱에게 이전 규모를 변환 확장이 아닌 경우 100

은 또한, 나는 확실하지 않다, 1.0의 가치를 확장하고자합니다. 그렇다면 0의 시작 눈금 값은 0이 계속 0이기 때문에 계속 증가하지 못하게합니다. 0.0 대신 0.0001의 값을 시도하십시오.

배터리 이미지가 왼쪽에서 오른쪽으로 커지게하려면 앵커 포인트가 (.5, 1)?

그리고 앵커 포인트를 변경하면 변형의 중심이 변경 될뿐만 아니라 이미지의 위치가 이동합니다. 보정하려면 위치를 조정해야합니다. 나는 항상 내 머리를 긁어 내고 그것을 정말로 어렵게 생각해야한다. (보통은 어쨌든 잘못된다.) 그러나 너는 너의 절반의 너비로 너의 시야를 오른쪽으로 옮기고 싶을 것이다.

이미지 크기를 조절하면 이상하게 늘어납니다. 그것은 짧고 뚱뚱한 밖으로 시작하고 정상적인 크기로 밖으로 스트레칭 것입니다.

보기에 마스크 레이어로 CAShapeLayer를 첨부하고 모양 사각형의 경로를 빈 사각형 (너비 = 0, 높이 = 전체 높이)에서 전체 크기 인 사각형으로 애니메이션하는 것이 좋습니다 보기의. 그러면 뷰가 스트레칭없이 왼쪽에서 오른쪽으로 표시되는 "닦아내는"애니메이션으로 애니메이션을 적용합니다.