2017-01-22 1 views
0

어디서나 원하는 예제를 찾을 수 없기 때문에 도움이 필요합니다.스위프트 3 - 애니메이션 시퀀스가 ​​멈 추면 performSegue

내가이 완료있어 일단 performSegue을 한 후, 간단한 PNG 시퀀스 애니메이션을 호출 할이 그래서하지만 너무 빨리 SEGUE 전화를 애니메이션화 그래서

InitImage.animationImages = [ 
    UIImage(named:"load1.png")!, 
    UIImage(named:"load2.png")!, 
    UIImage(named:"load3.png")!, 
/* 20 more images... */ 
] 

InitImage.animationDuration = 2.5 
InitImage.animationRepeattCount = 1 
InitImate.startAnimating() 

과 노력

(즉 내 주요 문제입니다) . 내가 사용해야 할 것으로 나타났습니다.

그러나 Swift3로 작성된 파일 시퀀스를 움직이는 예제는 찾을 수 없습니다.

누군가 내게 방법을 보여줄 수 있습니까? 덕분에 .

+1

저는 애니메이션 GIF와 같은 일련의 정지 이미지를 순환 할 수있는 UIView animateWithDuration 변형이 있다고 생각하지 않습니다. 현재 사용중인 코드를 사용해야합니다. Animel이 끝날 때 지속 시간이 계산되어 실행되는 타이머를 만드는 Axel의 솔루션이 최선의 방법 일 것입니다. –

답변

1

내가 생각하는 가장 간단한 방법은 타이머를

Timer.scheduledTimer(timeInterval: InitImage.animationDuration * Double(InitImage.animationImages?.count ?? 0), target: self, selector: #selector(push), userInfo: nil, repeats: false) 

과 선택을하게하는 것입니다

func push() { 
.... perform segue 
} 
1

가장 간단한 방법은 자기가 @objc의 UIViewController이기 때문에, afterDelay와 performSelector를 사용하는 것입니다

self.perform(#selector(segueToDetailViewController), with: self, afterDelay: InitImage.animationDuration) 

선택자 :

func segueToDetailViewController() { 
    self.performSegue(... etc ...) 
} 

위의 코드는 코드를 실행했을 때 모든 이미지의 애니메이션 지속 시간이 2.5 초임을 알았 기 때문에 애니메이션 지속 시간에 이미지 수를 곱하지 않았습니다.

관련 문제