在我的应用程序中,当我使用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或为零。
谢谢!
答案 0 :(得分:0)
第一次之后,view2.view的superview必须为nil。所以你必须设置一个变量来保存超级视图。
[view2.view removeFromSuperview];
// now view2.view.superview == nil;