1

我有一个应用程序,我将 ViewB 作为子视图添加到 ViewA...但是 ViewB 的背景是 clearColor,这意味着我可以通过 ViewB 看到 ViewA!如果我将 viewA 设置为隐藏,ViewB 也会消失!

我正在视图之间进行“翻转过渡”,所以我不能只删除 ViewA 然后添加 ViewB :-/

- 有人知道我能做什么吗?


这是我的代码:

[UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
                           forView:mainTableView
                             cache:YES];
    [mainTableView addSubview:subTableView];
    [UIView commitAnimations];
4

3 回答 3

1

我建议您不要将后视图作为子 ViewB 添加为 ViewA 的子视图。最好的解决方案是将它们分开...前面提到的方法 (transitionFromView:toView:duration:options:completion:) 是正确的使用方法...只要确保你没有一个作为另一个的子视图...相反,如果 ViewA 将成为“后视图”,那么就这样做...

[UIView transitionFromView:viewB toView:viewA options:UIViewAnimationOptionTransitionFlipFromRight completion:NULL];

UIViewAnimationOptionFlipFromRight 只是一个选项...阅读文档以获取更多选项...。

于 2011-08-10T14:47:28.670 回答
1

“我正在视图之间进行“翻转过渡”,所以我不能只删除 ViewA 然后添加 ViewB :-/ ——实际上是的,你可以。作为第一步,您应该将 ViewA 添加到父视图。稍后,当您想要进行翻转时,您移除 ViewA,并将 ViewB 添加到父视图,然后在父视图上进行翻转过渡。

希望这可以帮助。

于 2011-01-11T16:15:31.103 回答
0

查看 setAnimationTransition:forView:cache: 的帮助 - 听起来您想在过渡期间更改视图的外观,从一个视图翻转到另一个视图,在动画期间两个视图都可见?为了做到这一点,文档建议使用容器视图。文档还建议在 iOS 4.0 及更高版本中使用基于块的动画。

尝试使用 transitionFromView:toView:duration:options:completion:

于 2011-01-11T16:13:28.310 回答