我尝试了以下几种变体均无济于事。我想要的是显示一些东西的向下卷曲过渡,然后是相反的卷曲过渡。有透明度,所以效果是一个清晰的东西滚下一个视图。这是在上卷和下卷时调用的函数:
-(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
在任何动画开始之前隐藏,但由于某种原因,它坚持在动画完成之前一直徘徊。会喜欢这里的指针。