Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 切换视图(带动画)为什么使用removeFromSuperView时屏幕会变白?_Iphone_Objective C_C - Fatal编程技术网

Iphone 切换视图(带动画)为什么使用removeFromSuperView时屏幕会变白?

Iphone 切换视图(带动画)为什么使用removeFromSuperView时屏幕会变白?,iphone,objective-c,c,Iphone,Objective C,C,我刚刚启动了objective C,正在增强当前的iPhone应用程序。以前的代码是由其他人完成的。我正试图切换回视图,并在其中添加一个页面卷曲动画,但当我试图返回(从SuperView移除)时,我的屏幕就变成了白色。我知道我指的是错误的观点,但我不知道如何把它指给正确的观点 -(IBAction)切换{ [UIView beginAnimations:@"flipview" context:nil]; [UIView setAnimationDuration:1]; [UIView setAn

我刚刚启动了objective C,正在增强当前的iPhone应用程序。以前的代码是由其他人完成的。我正试图切换回视图,并在其中添加一个页面卷曲动画,但当我试图返回(从SuperView移除)时,我的屏幕就变成了白色。我知道我指的是错误的观点,但我不知道如何把它指给正确的观点

-(IBAction)切换{

[UIView beginAnimations:@"flipview" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView: self.view.superview cache:YES];

//[self.navigationController popToRootViewControllerAnimated:YES];

[self.view removeFromSuperview];

[UIView commitAnimations];
}


注释掉的popToRootViewController允许我返回上一页。任何帮助都将不胜感激。我被这些观点弄疯了><谢谢

您需要使用要使用的视图的名称,而不是引用superview的usign self.view。 f、 e: -如果您有view1和view2 -您可以使用删除视图1

[view1 removeFromSuperview];

试着这样做:

[UIView transitionWithView:self.navigationController.view duration:1.0 options:UIViewAnimationOptionTransitionCurlDown
                animations:^{
                    [self.navigationController popToRootViewControllerAnimated:NO];
                }
                completion:NULL];

发生这种情况的原因是您试图从其superview中删除视图(这不是以前添加视图的方式),如果在显示视图时未使用addSubview,请不要使用removeFromSuperView

您应该将此代码添加到调用当前视图的父视图中

viewNotLoggedHome.modalTransitionStyle= UIModalTransitionStylePartialCurl

通过这种方式,您已经为正在推送的视图声明了“部分卷曲”过渡动画

只需删除切换功能上的所有动画块,使其仅包含

-(IBAction)switchBack 
{ 
[self.navigationController popToRootViewControllerAnimated:YES]; 
}

谢谢这起作用了!!:非常感谢你的帮助!谢谢你的解释……这真的很有帮助!:没问题,顺便说一句,你应该试着在?读图书馆,这会有很大帮助:D