왜 다음 코드가 실행되는 즉시 '완료'할까요?애니메이션 블록 - 즉시 실행 완료
[UIView animateWithDuration:0.3
animations:^{
NSLog(@"Start");
}
completion:^(BOOL finished){
NSLog(@"done");
}
];
왜 다음 코드가 실행되는 즉시 '완료'할까요?애니메이션 블록 - 즉시 실행 완료
[UIView animateWithDuration:0.3
animations:^{
NSLog(@"Start");
}
completion:^(BOOL finished){
NSLog(@"done");
}
];
실제로 아무 것도 애니메이트하지 않기 때문에 (NSLog는 움직일 수 없습니다). 개체를 애니메이션화해야합니다. 그렇지 않으면 완료 블록이 곧바로 호출됩니다. 아무 것도 움직이지 않으면 0.3 초의 지속 시간이 무시됩니다.
그래, 나는 뭔가를 바꾸고 있는데, 똑같은 일이 일어난다. – Morkrom
아무 것도 움직이지 않기 때문에. 애니메이션 블록에서 일부 UIView의 값을 변경하면 0.3 초 지연 후에 "done"이 올바르게 출력됩니다.
정확한 코드를 사용하여 5 초 지연을 테스트하고 애니메이션을 적용하여 확인하는 경우에만 테스트했습니다.
좋아요 .. 뷰의 값을 변경하면 ... 같은 현상이 발생합니다. – Morkrom
아마도 애니메이션 블록에 애니메이션이 없기 때문일 수 있습니다. – scord