다음과 같은 몇 가지 변형을 시도해 보았습니다. 내가 원하는 것은 몇 가지 사실을 보여주는 컬 다운 트랜지션 (curl down transition)과 그 반대의 컬 전이 백업 (curl transition up)입니다. 투명성이 있으므로 그 효과는보기 위에 굴러가는 명확한 효과입니다. 이 롤 위아래로 롤에 호출되는 함수입니다 : 내가 억 가지 시나리오를 시도했습니다transitionWithView로 동시에 보이기 및 숨기기
-(void) setVisibility:(BOOL)isVisible animated:(BOOL)animated{
if (isVisible){
self.topFold.hidden = YES;
}
[UIView transitionWithView:self
duration:1.0f
options:isVisible ? UIViewAnimationOptionTransitionCurlDown : UIViewAnimationOptionTransitionCurlUp
animations:^{
self.imageView.hidden = !isVisible;
self.background.hidden = !isVisible;
self.bottomCornerFold.hidden = !isVisible;
}
completion:^(BOOL finished){
if (!isVisible){
self.topFold.hidden = NO;
}
}
];
}
그러나 이것은 가장 가까운입니다. 그러나 문제는 isVisible
= YES
으로 실행될 때 topFold
은 전환이 완료 될 때까지 계속 표시됩니다. 다시 말하면, 새로운 것들이 그 위에 얹히는보기의 복사본이있는 것처럼, 새로운 것들이 그 위에 넘깁니다. 그런 다음 작업이 완료되면 모든 것을 올바른 버전으로 바꿉니다.
애니메이션을 시작하기 전에 topFold
을 숨기려고합니다. 그러나 어떤 이유로 애니메이션이 끝날 때까지 매달려 있습니다. 여기에 포인터를 좋아할 것입니다.