2013-12-16 1 views
5

으로이 셀 애니메이션을 구현하는 방법, 내가 UICollectionView를 사용할 수 있다고 생각하지만, 애니메이션 부분은 까다로운 일이 될 것으로 보인다.나는 목록 <a href="http://youtu.be/ZbXSOX2kHys" rel="nofollow">this animation</a></p> <p>를 만들기 위해 노력하고있어 UICollectionView

이것에 대한 아이디어가 있으십니까?

+0

대리자 방법 UICollectionView의 decelarating 때 전지의 층을 애니메이션 .. –

+2

사용자가 특정 '-y'poisition 볼 셀의 층 이동 및 애니메이션과 복원 스크롤링 시작시 y 위치에서 컬렉션보기가 감속하는 경우 ..이게 이해가되면 알려주세요. –

+1

https://github.com/TeehanLax/UICollectionView-Spring-Demo – souvickcse

답변

3

스프링 애니메이션 부분을 의미하는 경우 그다지 까다로운 것은 아닙니다. Apple은 UIDynamics (iOS7 + 만 해당)에 대해 동일한 코드에서 동일한 동작을하는 데모를 제공합니다.

당신이 후에 무엇에 매우 가까이 보이는 여기에 또 다른 예입니다 : 애니메이션, 예를 들어 중간에

http://www.objc.io/issue-5/collection-views-and-uidynamics.html

봐가. 그것은 심지어 콜렉션 뷰를 사용합니다.

+0

그게 내가 원하는 것에 매우 가깝지만, 내 앱을 원한다. iOS6을 지원합니다. – jAckOdE

+0

iOS6 용 UIDynamic의 복제본을 찾으면 솔루션 (UICollectionView + iOS6 Dynamic)이 완료됩니다. 아마도 Box2d의 래퍼 일 것입니다. 나는 더 볼 것이다. – jAckOdE

1

@Kendall이 말했듯이, 당신은 정말로 UIDynamics을 시도해야합니다.

빠른 해결 방법은 아래 코드를 시도한 것입니다. 다소 효과가 있으며 코드와 관련이 있습니다. 성능에 대해 잘 모르겠습니다. 따라서 프로젝트에서 성능이 저하 될 수 있습니다.

그냥 아이디어입니다. 작동하지 않는 경우 그대로 두십시오. UICollectionViewCell의 애니메이션

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    MyCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyCollectionViewCell" forIndexPath:indexPath]; 

    [UIView animateWithDuration:0.2 animations:^{ 
     cell.transform = CGAffineTransformMakeTranslation(0.0, -50); 
    }]; 
    [self delayBy:0.5 code:^{ // call block of code after time interval 
     [UIView animateWithDuration:0.3 animations:^{ 
      cell.transform = CGAffineTransformIdentity; 
     }]; 
    }]; 
    return cell; 
} 
+0

Apple의 CollectionView- 간단한 샘플 코드에서이 코드를 사용하십시오 (블록 스타일 코드 대신 [self performSelector : @selector (restore :) withObject : cell afterDelay : 0.5];) 대신 iOS 6에서 작동합니다. iOS 7에서는 컬렉션보기에 삽입 된 새 셀만 애니메이션으로 표시합니다. – jAckOdE

+0

우리는'cellForRowAtIndexPath :'메소드 안에이 코드를 가지고 있기 때문에 화면에 보이는 셀에 대해 호출되지 않습니다. 이를 위해 재사용하지 않고 셀을 생성하거나 그렇지 않으면'UIScrollView'의'scrollViewDidScroll :'delegate 메소드 ('UICollectionView'는'UIScrollView'의 하위 클래스입니다)에 보이는 셀의 애니메이션을 처리해야합니다. 당신이 내가 말한 것을 얻을 수 있기를 바랍니다. –

관련 문제