현재 문서 목록이 하나씩 표시되어 있습니다. 이러한 문서 중 일부가 다른 문서로 움직이면 (폴더를 만들기 위해) 이전 문서로 남아있는 빈 공간을 채우고 각각 165 픽셀 (각 문서 축소판의 높이)만큼 위로 이동합니다.애니메이션 이후에 사용 된보기가있는 공백을 채 웁니다.
그래서 나는 정확히 할 수 있다고 생각했습니다. 그러나 움직이는보기가 둘 이상있을 수 있으므로 실제로 작동하지 않습니다.
예를 들어, 문서 위에있는 2 개의 문서가 사라질 수 있으며 그 다음에 해당 문서 다음에 공백이 있고 그 다음에 2 개의 문서가 나오고 그 다음에 공백이 3 개 추가됩니다. 4 개의 문서.
예 : 얼마나 많은
- 밖으로 찾기 :
화이트 스페이스가 없어 문서를 나타냅니다, 검은 그 작동 할 수 있습니다 내가 방법을 결정
존재하는 문서를 나타냅니다 공백은 문서 위에 있습니다 (다른 문서에 닿을 때까지 문서 위에있는 공백의 총 수는 아니며 문서에 도달 할 때까지의 숫자)
후 얼마나 많은 픽셀
- 계산 165
하여 현재 문서 상기 '투명'문서의 수를 승산하여 이동하고 모든 단일 문서에 대해이 과정을 반복 , 목록 맨 아래에서 시작하십시오.
그래서 몇 가지 코드를 작성했지만 모든 문서를 완전히 옮기지 않았습니다. 대신 첫 번째 문서는 이동하지만 다른 문서는 이동하지 않습니다. 문서 위의 빈 공간의 수입니다
incCtr :
여기 내 코드입니다.
for (int i = [documentThumbnails count]-1; i != 0; i--) {
int ctr = i;
int incCtr = 0;
//while there is a blank space, increment incCtr
while (![self thumbnailExistsAtSpecificIndex:ctr-1]) {
ctr--;
incCtr++;
}
uint32_t toMoveUpYCoordinate;
thumbnailView *object = [documentThumbnails objectAtIndex:i];
toMoveUpYCoordinate = (165 * incCtr);
object.frame = CGRectMake(13, object.frame.origin.y-toMoveUpYCoordinate, object.frame.size.width, object.frame.size.height);;
}
이 문제에 대한 도움을 주시면 감사하겠습니다.