2013-04-05 8 views
0

코드의 콘센트에 연결된 스토리 보드에 UIImageView가 있습니다. 코드를 실행하면 프로그래밍 방식으로 생성 한 애니메이션이 아니라 스토리 보드에 표시되는 정적 그림 만 표시됩니다. 어떤 아이디어?UIImageView는 정적 이미지에만 애니메이션을 적용하지 않습니다.

for(int i=0; i<4; i++) { 
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"loading%d",i]]; 
    [self.images addObject:image]; 
} 
self.loadingView.animationImages = self.images; 
self.loadingView.animationDuration = 2; 
self.loadingView.animationRepeatCount = 1; 
[self.loadingView startAnimating]; 

참고 : loadingView는 UIImageView이며 이미지는 NSMutableArray입니다.

+0

스토리 보드에 이미 할당되어 있지 않습니까? – Mirror318

+0

'self.images'배열을 할당 했습니까? –

+0

내 대답을 확인하십시오. 모두 좋은 옵션입니다 – Nirav

답변

2

런타임 배열을 만들고 싶다면 다음과 같이 사용할 수 있습니다.

NSMutableArray *images = [[NSMutableArray alloc] init]; 

    for (int i = 1 ; i < 4; i++) { 

     [images addObject:[UIImage imageNamed:[NSString stringWithFormat: @"loading%d.jpg", i]]]; 


    } 

    self.loadingView.animationImages = images; 
    self.loadingView.animationDuration = 2; 
    self.loadingView.animationRepeatCount = 1; 
    [self.loadingView startAnimating]; 

희망이 도움이 될 것입니다. 그것은 나를 위해 잘 작동합니다.

+0

감사합니다. 스토리 보드에 너무 많은 마법이있을 때 나는 배당과 혼동합니다. P – Mirror318

+0

괜찮아요 .... 항상 환영합니다. – Nirav

0

이렇게 직접 배열을 사용하는 것이 좋습니다.

NSArray *images = [[NSArray alloc] initWithObjects: 
       [UIImage imageNamed:@"1.jpg"], 
       [UIImage imageNamed:@"2.jpg"], 
       nil]; 

self.loadingView.animationImages = images; 
self.loadingView.animationDuration = 2; 
self.loadingView.animationRepeatCount = 1; 
[self.loadingView startAnimating]; 

희망이 도움이 될 것입니다.

UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"loading%d",i]] 

형식 문자열이 잘못 :

0

문제는이 라인입니다. 이름이 지정된 이미지가있을 수 있습니다. loading1.png. 그러나 형식 문자열은 단지 loading1입니다. 그건 imageNamed:과 작동하지 않습니다. 따라서 이미지의 전체 이름을 제공하기 위해 형식 문자열을 수정해야합니다.

UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"loading%d.png",i]] 

또는 무엇이든간에. NSLog를 사용하여 정확하게 이미지 이름을 얻고 있는지 확인하십시오 !!!

훨씬 더 좋은 방법이 있지만, 대신 애니메이션 이미지을 사용하는 것입니다 자동으로 찾을 수있는 모든 loading1.png, loading2.png 등을하고 이미지를 생성하고 자동으로 애니메이션을 시작합니다

UIImage* im = [UIImage animatedImageNamed:@"loading" duration:2]; 

.

+1

[문서 확인] (http://developer.apple.com/library/ios/documentation/uikit/reference/UIImage_Class/Reference/Reference.html#//apple_ref/doc/uid)/TP40006890-CH3-SW10) : "파일이 PNG 형식 인 경우 iOS 4 이상에서 .PNG 파일 이름 확장자를 지정할 필요가 없습니다." –

+0

내 경험으로는 신뢰할 수 없다 ... – matt

관련 문제