Я пробовал несколько вариантов следующего безрезультатно. То, что я хочу, - это переход с завитком вниз, который показывает некоторые вещи, а затем переход с завитком вверх, который делает противоположное. Существует прозрачность, поэтому создается эффект прозрачной вещи, катящейся по виду. Это функция, которая вызывается при сворачивании и сворачивании:
-(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
до того, как начнется любая анимация, но по какой-то причине он настаивает на том, чтобы зависнуть, пока анимация не будет сделана. Хотелось бы указатель здесь.