2012-11-08 2 views

답변

0

쉬운 방법은 없습니다. 혼자서 애니메이션과 움직임을 처리해야합니다. 이동하려는 셀의 복사본을 가져 와서 대상으로 이동하는 애니메이션을 표시 할 수 있습니다. 애니메이션이 멈 추면 데이터 소스가 변경됩니다.

+0

나는 animation.But 하나의 질문과 함께 하나의 세포를 이동 했나요, 어떻게 목적지로 이동하는 세포를 복사 ??? – Domlin

2

선택한 셀이 연속적이어야한다는 것을 확인하면 단일 높이 셀로 바꾸어 속임수를 쓸 수 있습니다.

편집 : 인접를 들어
는 게으른 솔루션은 드래그 중 하나를 드롭 바로 아래에있는 모든 다른 선택한 셀을 이동 한 후 후, 사용자가 임의의 셀을 선택하도록하는 것입니다.

당신은 UITableView 실험하고 (deleteRowsAtIndexPaths:withRowAnimation:로) 당신이 다른 선택된 셀을 애니메이션 드릴 것입니다 경우 드래그가 감지되는 (아마도 UITableViewDelegatetableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:으로) 빨리 볼 수 있었다. 드래그가 시작되면 셀을 다시 그리거나 크기를 조정할 수 있는지도 알 수 있습니다. 드래그하는 동안 z 계층 스택이나 토템을 키 셀에 배치 할 수 있습니다.

물론 선택한 모든 셀이 동일한 대상 위치를 공유한다고 가정합니다. 하나의 드래그 앤 드롭으로 인접하지 않은 소스를 비 연속적인 목적지로 감쌀 수 없습니다. 사용자가 3 개의 슬롯을 아래로 드래그하면 모든 선택된 셀의 위치에 3을 추가한다는 의미입니까? 그것이 셀을 범위 밖으로 벗어나게한다면? 이와 같은 이상한 경우에 대한 몇 가지 규칙을 결정하고 실제로이 괴물을 구현하더라도 사용자 친화적 일 수는 없습니다.

+0

하지만 인접한 상태는 단지 하나의 상태에 불과합니다. 완벽한 솔루션이 될 수 없습니다. – Domlin