我有一个应用程序,我将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];
答案 0 :(得分:1)
“我正在视图之间进行”翻转“,所以我不能只删除ViewA然后添加ViewB: - /” - 实际上是的,你可以。作为第一步,您应该将ViewA添加到父视图。稍后,当您想要翻转时,删除ViewA,并将ViewB添加到父视图,然后在父视图上执行翻转过渡。
希望这有帮助。
答案 1 :(得分:1)
我建议您不要将后视图作为子ViewB添加为ViewA的子视图。最好的解决方案是保持它们分开...前面提到的方法(transitionFromView:toView:duration:options:completion :)是正确使用的方法...只是确保你没有一个作为另一个的子视图...相反,如果ViewA将成为“后视图”,那么就这样做......
[UIView transitionFromView:viewB toView:viewA options:UIViewAnimationOptionTransitionFlipFromRight completion:NULL];
UIViewAnimationOptionFlipFromRight只是一个选项...阅读更多选项的文档....
答案 2 :(得分:0)
查看setAnimationTransition的帮助:forView:cache: - 听起来你想在转换期间更改视图的外观,从一个视图翻转到另一个视图,这两个视图在动画期间都可见?为了做到这一点,文档建议使用容器视图。文档还建议在iOS 4.0及更高版本中使用基于块的动画。
尝试使用transitionFromView:toView:duration:options:completion: