2010-03-18 4 views
1

화면 전체에 색상 그라디언트가있는 가로 막대가 애니메이션으로 표시됩니다. 간단히하기 위해 완전히 확장 된 막대의 PNG를 만들고 UIImageView에 할당 한 다음 UIView 애니메이션을 사용하여 크기 조정을 애니메이션으로 만들려고했습니다. 문제는 이미지의 "닫힌"상태에서 이미지가 보여주는 부분이 내가 원하는 부분이 아니라는 것입니다. 이미지는 L에서 R까지 흰색에서 적색 그라디언트가 발생하도록 정렬됩니다. 오른쪽 (약 20 픽셀)은 빨간색으로 채워져 있으며 막대가 "접히는"경우 표시하고자하는 부분입니다. 전폭으로 약 100 픽셀만큼 이미지를 확장하려고합니다. 이 관련 보였다 나는 내 코드에 대해 "지금 주문"버튼의 예를 참조 "iPhone SDK : UIImageView - 애니메이션 축소

UIButton AppStore buy button animation

내 코드 :

나는이 느낌
[UIView beginAnimations:@"barAnimation" context:nil]; 
[UIView setAnimationDuration:0.6]; 

CGRect barFrame = bookBar.bounds; 

if (fExtendBar) 
{ 
    barFrame.origin.x -= 100; 
    barFrame.size.width += 100; 

} 
else 
{ 
    barFrame.origin.x += 100; 
    barFrame.size.width -= 100; 
} 

    bookBar.frame = barFrame; 
[UIView commitAnimations]; 

어쩌면 설정함으로써 가능해야한다"offsetOfImage을 "UIImageView에 표시 할 수 있지만 작동하도록 만들 수 없습니다. 또한 이미지를 크기를 조정할 때 인터페이스 작성기에서 발생하는 것과 일관성이있는 것으로 나타났습니다. 그런 다음 다시 생각해 봅니다. 프로그래밍 방식으로이 동작을 재정의 할 수있는 방법이 될 수 있습니다. 다른 방법을 포함한 모든 제안을 환영합니다.

고마워, chris.o.

답변

0

나는 약간 더 복잡한 버전의 동일한 문제에 직면하고 있습니다. CALayer를 사용하고 contentsGravity 속성을 설정해 보았습니까?

관련 문제