2014-04-21 1 views
1

안녕하세요, 내 앱의 일부보기 컨트롤러는로드시 꽤 집중적 인 이미지 처리를 수행합니다.애니메이션 로딩 프레임 만들기 (조건 없음 애니메이션 실행 화면 없음)

그래서 이드는 전체 화면 애니메이션 이미지 (이미 이미지 뷰를 사용하는 방법을 알고 있습니다)를 만들고 뷰 컨트롤러를 사용할 준비가 될 때까지 애니메이션을 계속합니다. 나는이 애니메이션 (나는 생각한다)을위한 또 다른 스레드를 만들어야하고 어떤 상황은 어떤 조건이 TRUE 일 때까지 어떻게 든이 이미지 루프를 가져야한다는 것을 안다. 누구든지 좋은 튜토리얼을 공유하거나 유용한 코드를 가지고 있습니다. 내가 온라인에서 찾은 것은 프로그래머가 설정 한 특정 시간 동안 진행되는 애니메이션 시작 이미지 자습서뿐입니다. 특정 조건이 TRUE 일 때까지 그렇게하는 방법을 설명하는 자습서가 없습니다.

+0

UIKit을 사용하여 맞춤 애니메이션을 수행해야합니까, 아니면 간단한 .gif가 될까요? – michaels

+1

간단한 .gif는 예제로 충분하지만 id는 UIKit을 사용하여 사용자 지정 애니메이션을 수행 할 수 있습니다. –

답변

1

트릭은 생각하지 않아요. 그것의 대기 주기로. 로딩 시작과 로딩 완료라는 두 가지 별개의 이벤트로 생각해야합니다.

시작을로드 할 때, 당신은 당신의 .gif 참고를 호스팅 이미지 뷰를 생성하고 표시

: 당신이 페이드하려는 경우,

[self.imageView startAnimating]; 
[self.view addSubview:self.imageView]; 

을 또는 :

self.imageView.alpha = 0; 
[self.imageView startAnimating]; 
[self.view addSubview:self.imageView]; 
[UIView animateWithDuration:0.5 animations:^{ 
    self.imageView.alpha = 1.0; 
}]; 

을 그런 때

[UIView animateWithDuration:0.5 animations:^{ 
    self.imageView.alpha = 0; 
} completion:^(BOOL finished) { 
    [self.imageView stopAnimating]; 
    [self.imageView removeFromSuperview]; 
}]; 

휴식하는 방법에 대한 this github project를 참조하십시오 로딩 당신은 그냥 다시 그것을 퇴색 할 필요가 완료 .gif를 프레임으로 만들고 UIImageView를 사용하여 애니메이션을 만듭니다. 이 방법을 사용하면로드하는 데 걸리는 시간을 신경 쓰지 않아도됩니다. 명시 적으로 제거 할 때까지 imageView가 표시되고 자동으로 반복됩니다.

편집 :

당신이 UIKit을 사용하여 사용자 정의 애니메이션, 당신은 자동 반복 (및 자동 반전?) 애니메이션 블록에 애니메이션을 넣을 수 있습니다 수행 할 경우 다음

[UIView animateWithDuration:0.5 
         delay:0.0 
        options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat 
       animations:^{ 
        // Do some animation 
       } completion:nil]; 

로딩이 완료되면 애니메이션을 취소하십시오.

[self.view.layer removeAllAnimations]; 
+0

.gif를 imageView에 추가하려면? –

+0

스토리 보드를 사용하는 경우 imageView가 초기화되므로 'self.imageView.image = yourGif;'만 설정하면 이미지보기를 만들 때 이미지 뷰를 만들 수 있습니다.'self.imageView = [[UIImageView alloc] initWithImage : yourGif]; ' – michaels

+0

.gif 실제로 애니메이션을 적용하는 방법에 대한 팁 난 단지 사용자 정의 애니메이션을 만들었습니다. 인터넷에서 임의로 .gif를 가져 와서 코드를 빨리 시험해 봅니다. –