내가 선택한 셀을 많이 드래그하여 내 앱에서 레코딩하고 싶습니다.하지만 어떻게해야할지 모르겠군요. 사과는 내가 한 일을 드래그하도록합니다. 아이디어?ios에서 멀티 uitableveiwcells를 드래그 또는 드롭하는 방법은 무엇입니까?
답변
쉬운 방법은 없습니다. 혼자서 애니메이션과 움직임을 처리해야합니다. 이동하려는 셀의 복사본을 가져 와서 대상으로 이동하는 애니메이션을 표시 할 수 있습니다. 애니메이션이 멈 추면 데이터 소스가 변경됩니다.
선택한 셀이 연속적이어야한다는 것을 확인하면 단일 높이 셀로 바꾸어 속임수를 쓸 수 있습니다.
편집 : 인접를 들어
는 게으른 솔루션은 드래그 중 하나를 드롭 바로 아래에있는 모든 다른 선택한 셀을 이동 한 후 후, 사용자가 임의의 셀을 선택하도록하는 것입니다.
당신은 UITableView
실험하고 (deleteRowsAtIndexPaths:withRowAnimation:
로) 당신이 다른 선택된 셀을 애니메이션 드릴 것입니다 경우 드래그가 감지되는 (아마도 UITableViewDelegate
의 tableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:
으로) 빨리 볼 수 있었다. 드래그가 시작되면 셀을 다시 그리거나 크기를 조정할 수 있는지도 알 수 있습니다. 드래그하는 동안 z 계층 스택이나 토템을 키 셀에 배치 할 수 있습니다.
물론 선택한 모든 셀이 동일한 대상 위치를 공유한다고 가정합니다. 하나의 드래그 앤 드롭으로 인접하지 않은 소스를 비 연속적인 목적지로 감쌀 수 없습니다. 사용자가 3 개의 슬롯을 아래로 드래그하면 모든 선택된 셀의 위치에 3을 추가한다는 의미입니까? 그것이 셀을 범위 밖으로 벗어나게한다면? 이와 같은 이상한 경우에 대한 몇 가지 규칙을 결정하고 실제로이 괴물을 구현하더라도 사용자 친화적 일 수는 없습니다.
하지만 인접한 상태는 단지 하나의 상태에 불과합니다. 완벽한 솔루션이 될 수 없습니다. – Domlin
나는 animation.But 하나의 질문과 함께 하나의 세포를 이동 했나요, 어떻게 목적지로 이동하는 세포를 복사 ??? – Domlin