2014-09-29 2 views
1

페이 스북 (Facebook 's Paper) 앱의 설정 메뉴에 사용 된 전환을 구현하려고합니다 : http://blog.brianlovin.com/design-details-paper-by-facebook/#1. 내 사용자 정의 UIViewControllerAnimatedTransitioning 객체를 사용하고 있지만, 사용하는 애니메이션의 유형에 관계없이 동일한 효과를 얻을 수 없습니다. 그래서 몇 가지 질문이 있습니다 :페이 스북 종이와 같은 테이블 셀 애니메이션

1) 어떤 애니메이션이 사용됩니까? 세포가 정말로 빨리 움직이기 시작하고 마지막 위치로 멈추는 것처럼 보입니다. POPDecayAnimation이 필요한 것 같지만 그 결과는 비슷하지 않습니다.

2) 애니메이션의 beginTime을 셀의 인덱스에 따라 설정하면 애니메이션 간의 지연이 발생합니까? 아니면 첫 번째 세포가 마지막 세포보다 더 빠른 속도를 가지고 있습니까?

+0

웨이브 전환 효과에 대해 이야기하고 있습니까? – Injectios

+1

https://www.cocoacontrols.com/controls/amwavetransition – Injectios

+0

@Injectios는 매우 좋아 보인다! 그것을 시도 할거야 – Spail

답변

0

귀하의 요구 사항에 따라 논리를 업데이트 AMWaveTransition은 Paper의 애니메이션과 비슷합니다. 나는 그것을 약간의 조정과 함께 사용하는 것을 끝내었다.

나는 또한 팝업 github 페이지 에서이 질문을, 당신은 그것을 here 볼 수 있습니다. 이 애니메이션을 직접 구현하려는 경우 해당 답변이 유용 할 수 있습니다.

안녕하세요! Paper에서 구현했습니다. 각 셀의 애니메이션은 POPSpringAnimations이며, 각 애니메이션의 toValue를 (이전 프레임의 현재 값을 가리 키도록) 업데이트 (모든 프레임)하여 함께 연결됩니다. 희망이 도움이됩니다!

-1
  1. cellForRowAtIndexPath에는 UIViewAnimation 블록을 사용하십시오. 귀하의 요구 사항에 따라

  2. 설정 셀 속성 :

    • indentationLevel
    • indentationWidth
    • shouldIndentWhileEditing
  3. 그리고 애니메이션 블록, 변화 프레임 위치한다.

  4. 예를 들어 첫 번째 셀의 경우 indetationLevel = 1 및 indentationWidth = cell.frame.size.width 인 경우 해당 애니메이션 블록에서 indetationLevel = 0 및 indentationWidth = 0으로 업데이트하십시오. 그리고 더 셀에 대한 당신하여이 값을 곱할 수 (cellIndexPath + 1) 자세한 내용은

  5. 방문 : https://developer.apple.com/library/ios/Documentation/UIKit/Reference/UITableViewCell_Class/index.htm

PS를 : Injectios 제안으로

+0

그건 내 문제를 해결하지 못한다. – Spail