2012-02-28 2 views
0

저는 테이블 뷰가 스크롤 될 때 현재 보이는 셀이 화면의 위치에 따라 움직이는 효과를 얻으려고합니다. 나는 IOS dev에 다소 새로운, 그래서 내가 그것을 파괴하려고하자 :UITableView가 스크롤하는 동안 셀을 애니메이션합니다.

  • 테이블이 움직이는 동안 사용자 정의 세포 사용자와
  • 있는 tableview로드 스크롤 시작
      는, 눈에 보이는 세포는 UIView의를 보유하고있는 은 화면의 셀 현재 Y 위치에 직접 해당하는 애니메이션을 수행합니다.
    • 세포를 ONLY
    • 셀 애니메이션 직접 테이블 움직임에 대응 그들이 볼 때 애니메이션 것 즉 마다 테이블 뷰 스크롤 세포 애니메이션되며 테이블이 정지되면, 애니메이션은 I 중 생각

    한 용액의 drawRect에게 tableview에 이동 될 때마다 하나의 프레임을 업데이트하는 일시. 그래픽 작업에 따라 이것은 끔찍한 성능 현명 할 수 있습니다. 변경 될 때마다 현재 테이블 위치를 파악할 수있는 방법이 있습니까? Core Animation을 사용하는 것이 더 적합합니까?

  • 답변

    1

    보기 컨트롤러를 UITableView의 위임자로 만들고 scrollview Delegate의 모든 메서드를 사용하십시오. 여기에는 시작 스크롤과 끝 스크롤에 대한 많은 컨트롤이 있으며 thpse 컨트롤 내에서 uitableview 셀 위치를 확인할 수 있습니다.

    +0

    정확히 내가 뭘 찾고 있었는지, 고마워. 프레임 워크 API가 있어야만이 작업을 수행 할 수 있다고 생각했습니다. 감사합니다. – Chris

    0

    은이 위임되고 있습니다 https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html

    을 그리고 이것은 당신의 세포 무시하고 애니메이션을 적용하는 방법입니다 : 아래처럼 뭔가를 달성하려면

    – tableView:willDisplayCell:forRowAtIndexPath: 
    
    +0

    나는 그것이 충분하지 않을 것이라고 확신한다. 셀이 표시 될 때만 알려주며 표시 될 위치를 알려주지 않습니다. –

    +2

    네 말이 맞아. scrollviewDidScroll : 다음 TableView에서 indexPathsForVisibleRows를 가져 와서 해당 행에 애니메이션을 적용하면 어떻게 될까요? Offcourse를 사용하면 애니메이션을 시작한 셀과 그렇지 않은 셀을 추적해야합니다. 어쨌든, 어쩌면 여전히 더 깨끗한 해결책 일 수도 있습니다. –

    1

    것은이 도움이 될 수 있습니다 https://github.com/mrugrajsinh/AnimatedTableViewCellDemo

    enter image description here

    +0

    멋진 작업 마약이지만 작동하지 않을 것으로 예상되는 기능은 jurk와 약간의 시간이 애니메이션을 마쳤습니다. 사각형 셀 크기로 작동하지 않습니다. –

    관련 문제