4x4 격자의 이미지를 얻었으며 모든 사각형의 효과를 얻기 위해 위에서 아래로 그리고 왼쪽에서 오른쪽으로 이동하려고합니다. , 새로운 이미지를 드러내 기 위해 뒤집었다. 약간의 "잔물결"효과가 있어야하므로 왼쪽 위 사각형이 바로 뒤집기 시작하여 [0,1] 사각형이 0.05 초 후, [0,2]가 0.10 초 후 등으로 뒤집 힙니다. * 15) 초 마지막 사각형이 뒤집기 시작합니다.[UIView transitionWithView ...]의 빠른 시리즈가 원활하게 진행되지 않음
내 구현은 이것이다 : 각 그리드 사각형은 UIView의 하위 클래스이다하는 UIImageView에 포함되어 DMGridSquareView, 다음과 같은 방법
- (void)flipToNewImage:(UIImage*)img {
AATileView *mySelf = self;
[UIView transitionWithView:self.imageView
duration:0.4
options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
self.imageView.image = img;
} completion:^(BOOL finished) {
NSLog(@"Finished flip");
}];
}
그런 다음, 모든 그리드 사각형의 애니메이션을 트리거하기 위해, DMGridView 내에서이 메소드를 호출합니다.
- (void)flipAllSquares:(NSArray*)newImages {
int numTiles = self.numColumns * self.numRows;
for (int idx=0; idx<numTiles; idx++) {
UIImage *newImg = [newImages objectAtIndex:idx];
[[self.gridSquareViews objectAtIndex:idx] performSelector:@selector(flipToNewImage:) withObject:newImg afterDelay:(0.05*idx)];
}
}
시뮬레이터에서 실행하면이 기능이 아름답게 작동합니다. 하지만 내 iPhone 5에서 실행할 때 예상치 못한 (적어도 나에게는) 동작이 발생합니다. 개별 격자 사각형의 애니메이션은 매끄럽고 부드럽고 올바른 속도로 시작 시간이 꺼져 있습니다. 그들은 비틀 거리는 "덩어리"에서 일어난다. 따라서 첫 번째 2 칸이 즉시 뒤집을 수 있습니다. 그러면 다음 4 칸이 동시에 뒤집어 질 것이고, 다른 순간이 뒤 따르는 3 칸이 차례로 뒤따를 것입니다. 일관성이 없지만 항상 이렇게 덩어리입니다.
어떻게 해결할 수 있습니까?
감사합니다.
이전 문제가 끝날 때까지 기다리는 것을 원하지 않는다는 문제점이 있습니다. 그들은 "파도"효과처럼 빠른 연속적으로 시작해야합니다. – DanM
게시 후 알게되었습니다. 미안합니다. 나는 이것을 숙고 해 왔고 시뮬레이터와 장치에서 다른 결과를 얻는 이유를 실제로 알지 못합니다. – Chris
심지어 더 이상한, 그것은 갑자기 작동합니다. 나는 그 코드를 실제로 변경하지 않았기 때문에 나는 그것을 믿지 않는다 ... 그러나 여기서 이상한 일이있을 것이다. 이상한 점을 발견하면 다시 게시 할 것입니다 ... – DanM