隐藏uiview,但不是子视图?

问题描述:

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

我提出的意见之间的“翻转过渡”,所以我不能只是删除ViewA然后添加ViewB: -/

-Anybody有什么我可以做的想法?


这里是我的代码:

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

为什么你不能删除ViewA再加入ViewB? – 2011-01-11 16:11:03

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

尝试使用transitionFromView:toView:持续时间:选择:完成:

“我想提出一个‘翻转过渡’的观点之间,所以我不能只是删除ViewA然后添加ViewB: - /” - 其实是的,你可以。作为第一步,您应该将ViewA添加到父视图。之后,当您想要翻转屏幕时,您将移除ViewA,并将ViewB添加到父视图中,然后在父视图上进行翻转过渡。

希望这会有所帮助。

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

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

UIViewAnimationOptionFlipFromRight只是一个选项...阅读文档的更多选项....