Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
返回I'之后的第一个视图;m在Xcode中的iOS应用程序的第五个视图上_Xcode_View_Switch Statement_Viewcontroller_Uiswitch - Fatal编程技术网

返回I'之后的第一个视图;m在Xcode中的iOS应用程序的第五个视图上

返回I'之后的第一个视图;m在Xcode中的iOS应用程序的第五个视图上,xcode,view,switch-statement,viewcontroller,uiswitch,Xcode,View,Switch Statement,Viewcontroller,Uiswitch,我对xcode相当陌生,正在创建一个包含五个视图(xib文件)的单视图应用程序。我不使用导航控制器或故事板有两个原因。 如果我使用情节串连板,我将被迫将其他视图设置为UIView文件。这些没有 -(void)viewDidLoad 这会阻止我在应用程序中加载一些计时器 我能够使用以下代码从第一页导航到第二页,依此类推,一直导航到第五页/视图 -(IBAction)pagethree { countdown=[[Countdown alloc] initWithNibName:@"Co

我对xcode相当陌生,正在创建一个包含五个视图(xib文件)的单视图应用程序。我不使用导航控制器或故事板有两个原因。 如果我使用情节串连板,我将被迫将其他视图设置为UIView文件。这些没有

-(void)viewDidLoad 
这会阻止我在应用程序中加载一些计时器

我能够使用以下代码从第一页导航到第二页,依此类推,一直导航到第五页/视图

-(IBAction)pagethree {
    countdown=[[Countdown alloc] initWithNibName:@"Countdown" bundle:nil];
    [self.view addSubview:countdown.view];  
}
然而,当我想从第五个视图返回到第一个页面时,我遇到了一个问题。 我的第一个视图称为ViewController。如果我尝试上面的代码,我的应用程序充满了错误

我也试过使用

-(IBAction)back {
    [self.view removeFromSuperview]; 
}
但这只让我想起了一个观点

我的第五个视图控制器叫做Statistics,第一个叫做ViewController。 我可以编写什么代码从最后一个视图返回到第一个视图


谢谢

首先,要回答您的问题,您需要对每个添加子视图执行一次从SuperView中移除的操作:(或类似操作)。每次添加子视图时,都会将新屏幕放在上一个屏幕的“顶部”,就像一个堆栈一样。当你到达你的第5个视图时,你有4个其他视图“在后面”。(实际上,addSubview并不是这样做的,但我只是描述了在您的特定情况下的效果)

但我认为你做错了。。。您应该阅读有关故事板和导航控制器的更多信息。两者都与UIViewController一起使用,并支持您尝试手动执行的开箱即用的操作。例如,要使用导航控制器推送新的视图控制器,可以执行以下操作:

[navigationController pushViewController:viewController animated:YES];
你可以想做多少次就做多少次。然后,要返回一次,请执行以下操作:

[navigationController popViewControllerAnimated:YES];
直接回到第一个:

[navigationController popToRootViewControllerAnimated:YES];

希望这能有所帮助。

嘿,hiten,我强烈建议您使用故事板,您可以在不使用代码的情况下创建与视图控制器之间的分段,故事板元素的每个链接都指向一个新的uiviewcontroller,并且始终调用viewDidLoad,或者调用ViewWillAspect或ViewDidAspect,这两个选项的工作原理与放置计时器一样好。。。如果您想让我发布更多关于故事板等的资源,请让我知道,但马里亚诺斯的回答是正确的,导航控制器非常强大。祝你好运,泰洛,谢谢你的建议。我正在用故事板重新编写程序,如果遇到任何问题,我会告诉你!