2009-10-07 10 views
2

UIButton에 일련의 이미지를 통해 애니메이션을 적용한 후 동일한 이미지를 역으로 되돌릴 수있는 지속적인 "펄스"효과를 UIButton에 제공하고 싶습니다. animationImages 속성을 사용하여 UIImageViews 예제를 찾았지만 UIButtons에서 찾은 모든 것은 알파를 애니메이션으로 변경하는 것입니다.UIButton 이미지에 애니메이션 적용

UIView 메서드 setAnimationRepeatAutoreverses는 루핑을 원하지만 UIButton의 애니메이션 블록 내에서 이미지 배열을 사용하는 방법을 이해하지 못합니다. 이것이 가능합니까 아니면 NSTimer/setImage 접근 방식이 권장됩니까? 어떤 예도 대단히 감사합니다.

답변

1

UIImageView를 단추의 하위보기로 추가하고 animationImages 속성을 사용할 수 있습니다. UIButton의 backgroundImage 속성 인 속성을 사용하려면 해당 UIImageView를 UIButton의 자식으로 찾아 동일한 animationImages 기술을 적용 할 수 있습니다. 하위 뷰 기술은 작동하지만

+0

흠 I는 IB에있는 UIButton의 기본 이미지를 삭제하고있는 viewDidLoad에있는 UIButton의 출구를 통해 UIImageView에 추가하려 : 의 UIImageView * myButtonImage = [UIImageView에 ALLOC] initWithImage : [UIImage imageNamed : @ "myButton_ON_01.png"]]; \t [self.myButton addSubview : myButtonImage]; \t [self.myButton bringSubviewToFront : myButtonImage]; \t [self.myButton setNeedsLayout]; 나는 또한 [self.myButton setNeedsDisplay]를 시도했다; setNeedsLayout 대신에 이미지를 표시 할 수 없습니다. – Ian

+0

글쎄, 내가있을거야 ... 나는 방금 이걸로 돌아와서 찢어지기 시작했다. animationImages, animationDuration을 설정 한 다음 startAnimating을 설정해야했습니다. 고맙습니다! – Ian

6

는 간단한 방법 그냥있는 UIButton의 이미지 뷰animationImages 속성을 설정하는 것입니다. 문서에서 :

[imageView] 속성은 읽기 전용이지만 자체 속성은 읽기/쓰기입니다. 이러한 속성을 사용하여 단추 모양의 모양과 동작을 으로 구성하십시오. 예를 들어

:

self.pulsingButton.imageView.animationImages = 
    [NSArray arrayWithObjects:[UIImage imageNamed:@"button1.png"], 
           [UIImage imageNamed:@"button2.png"], 
           nil]; 
+0

내 4.3에서는이 기능이 작동하지 않습니다. 다른 사람들을 위해 일하고 있습니까? animationImages와 animationDuration을 설정하고 startAnimating을 호출했습니다. 그냥 빈 단추를 얻을. – jasongregori

+1

나는이 방법을 선호하지만 setImage : forState :를 UIButton의 첫 번째 프레임과 함께 호출하여 이미지를 표시해야했습니다. – JimDusseau

관련 문제