【问题标题】:Flip Animation not working翻转动画不起作用
【发布时间】:2010-11-27 10:52:12
【问题描述】:

我有一个自定义视图。这个自定义视图有两个 UIImageView——imageview1 和 imageview2。

[UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2.00]; [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(transitionDidStop:finished:context:)]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self cache:YES]; 如果(正面可见){ [imageview1 removeFromSuperview]; [自我addSubview:imageview2]; } 别的 { [imageview2 removeFromSuperview]; [自我addSubview:imageview1]; } frontVisible = !frontVisible; [UIView 提交动画];


图像从 imageview1 变为 imageview2,反之亦然,但我没有得到翻转效果。相反,我看到一个图像在另一个图像出现时淡出。

【问题讨论】:

  • 你是在设备还是模拟器上测试?
  • 我在模拟器上测试

标签: iphone objective-c xcode animation uiview


【解决方案1】:

不太确定,但我检查了文档并发现了这一点:

讨论

如果您想在过渡期间更改视图的外观(例如,从一个视图翻转到另一个视图),请使用容器视图,即 UIView 的实例,如下所示:

  1. 开始一个动画块。
  2. 在容器视图上设置过渡。
  3. 从容器视图中移除子视图。
  4. 将新的子视图添加到容器视图中。
  5. 提交动画块。

所以它说你必须创建一个容器视图才能使其正常工作。

【讨论】:

  • 当我使用 UIViewAnimationTransitionFlipFromLeft 时,我确实得到了翻转。 (我不知道我是如何工作的。)但是,如果我将过渡更改为 UIViewAnimationTransitionCurlUp,我仍然会看到其中一个图像随着另一个图像的出现而淡出。我无法理解 CurlUp 有什么特别之处
【解决方案2】:

你没有让 curl 过渡工作的原因是因为 curl 过渡在模拟器中不起作用。它显示为淡入淡出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 2023-03-06
    • 2015-07-06
    相关资源
    最近更新 更多