2016-09-27 3 views
4

iOS에서 스플래시 화면을 만들려고하는 사람은 의자 개체로 구성됩니다. 이 객체들 각각은 함께 움직이는 손, 머리, 몸체 및 feets과 같은 분리 된 부분을 가지고 있습니다. 어느 쪽이 더 좋은가요? GIF 파일을 가져 오거나 CALayer 객체를 코딩 한 다음 애니메이션을 추가 하시겠습니까?iOS에서 GIF 파일이나 애니메이션 코드를 사용해야하나요?

+0

이것은 작업을 커밋하기 위해 희생하고자하는 리소스 인 _time_ 또는 _memory_에만 의존합니다. – holex

답변

6

런치 스크린 (스플래시 화면)에 애니메이션 용 GIF 파일이나 애니메이션 코드를 사용할 수 없으며 실행 화면이 스토리 보드 인 경우 정적 이미지, PNG 또는 JPG 만 사용할 수 있습니다.

따라서 애니메이션을 사용하여 앱을 시작하려면 첫 번째보기 컨트롤러에서 관리해야합니다.

당신은 이미지와 같은 설정으로 (코멘트에서 질문으로),

UIImageView* myImageViewForAnimation = [[UIImageView alloc] initWithFrame:self.view.bounds]; 
myImageViewForAnimation.animationImages = [NSArray arrayWithObjects: 
            [UIImage imageNamed:@"image1"], 
            [UIImage imageNamed:@"image2"], 
            [UIImage imageNamed:@"image3"], 
            [UIImage imageNamed:@"image4"], nil]; 
myImageViewForAnimation.animationDuration = 1.0f; 
myImageViewForAnimation.animationRepeatCount = 0; 
[myImageViewForAnimation startAnimating]; 
[self.view addSubview: myImageViewForAnimation]; 

업데이트를 imageview 애니메이션을 적용 할 수 있습니다 :

당신은 당신이 당신의 행동 방식에 gesture recognizer을 추가하는보기를 얻을 수 있습니다 또는 tag을 모든 imageview으로 설정하고 조치 방법으로 처리 할 수 ​​있습니다.

예를 들어

,

-(void)tapOnProfileImage : (UITapGestureRecognizer*)recog{ 


UIImageView *tempView = (UIImageView *)recog.view; 

// or 

if (recog.view.tag == 1) { 

    // image 1 
} 

if (recog.view.tag == 2) { 
    //image 2 
} 
} 

그래서, 모든 이미지보기에, 당신은 add target with selector - tapOnProfileImage해야 위의 코드에서 언급 한 바와 같이 당신은 그것을 구별 할 수 있습니다!

+0

사용자가 다른 이미지로 이동했는지 확인하고 싶습니다. 그렇다면 어떤 이미지를 두드리는 지 어떻게 결정해야할까요? –

+0

이미지에 'tapgesturerecognizer'를 추가하면 사용자 상호 작용을 감지하기위한 조치 방법 만 취할 수 있지만 사용자가 두드린 이미지를 확인하는 방법은 두드림 액션 메서드 – Lion

+0

을 처리 할 수 ​​있습니까? 계속 내게 가이드를 제공하십시오 :) –

2

gif 이미지를 사용할 수는 있지만 xib를 실행하면 직접 사용할 수 없습니다. 하나의 뷰 컨트롤러를 만들고 해당 뷰 컨트롤러에 GIF 이미지를로드합니다. 일단 애니메이션이 완료되면이 컨트롤러를 탐색 스택에서 제거합니다. https://github.com/Flipboard/FLAnimatedImage이 GIF 이미지보기 컨트롤을 사용하십시오.