切换视图时第二次显示视图?

时间:2012-02-02 05:22:46

标签: ios views switch-statement

在我的应用程序中,当我使用UIView动画切换视图时,它在第一次切换视图时工作正常,因为视图正确滑动到位并且一切正常。但是,如果我切换回原始视图,然后返回到新视图,它没有显示任何内容,视图是黑色但我知道我的方法被调用。

我的代码如下,但有人看到任何错误吗?

-(void)changeView2ToView3 {
    [view2.view.superview addSubview:view3.view];
    [view3.view setFrame:CGRectMake(0, kHeight, kWidth, kHeight)];
    [UIView animateWithDuration:0.75 
                     animations:^{
                         [view3.view setFrame:CGRectMake(0, 0, kWidth, kHeight)];  
                     }
                     completion:^(BOOL finished){
                         [view2.view removeFromSuperview];
                     }];
}

kHeight和kWidth是屏幕的高度和宽度,它们永远不会为0或为零。

谢谢!

1 个答案:

答案 0 :(得分:0)

第一次之后,view2.view的superview必须为nil。所以你必须设置一个变量来保存超级视图。

[view2.view removeFromSuperview];
// now view2.view.superview == nil;