我正在开发一款iPad应用,它在背景主视图前面有一个小弹出视图。
弹出视图显示一张照片及其相关注释等。主视图是一堆缩略图
我想实现一些操作,比如向左/向右滑动,用一个带有动画的新弹出视图替换弹出视图。
// popView is the existing pop up view to be replaced
MyPopupViewController *newPopView = [[MyPopupViewController alloc] initWithData:...];
[UIView animateWithDuration:0.4
delay:0
options:UIViewAnimationOptionCurveEaseInOut
animations: ^{
[self.view addSubView: newPopView.view];
[popView removeFromSuperView];
[UIView setAnimationTransition: UIViewAnimationTransitionCurlUp
forView:popView cache:YES];
} completion:^(BOOL finished) { popView = newPopView }
];
[newPopView release];
嗯,这不起作用。我无法删除动画块中的旧视图,否则动画将不会触发。我无法在完成块中删除它,因为在动画期间,旧图像仍然可以在其自身下方显示。
我花了很长时间玩序列,但却无法让它发挥作用。请帮忙。
提前致谢。 利奥
答案 0 :(得分:1)
我终于通过设置隐藏在动画块中的旧视图来修复此问题。动画将在动画期间显示新视图。
答案 1 :(得分:0)
我是这样做的:它在风景中很好地适应从下到上的卷发
[UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionTransitionCurlUp animations:^()
{
[UIView setAnimationTransition: UIViewAnimationTransitionCurlUp
forView:self.welcomScreen cache:YES];
[self.welcomScreen setHidden:YES];
}completion:^(BOOL finished)
{
[self.welcomScreen removeFromSuperview];
}];