Ios 如何切换回主视图,即ViewController.h“;MainstryBoard.storyboard的nib名称是什么?
我使用以下代码从主视图(Ios 如何切换回主视图,即ViewController.h“;MainstryBoard.storyboard的nib名称是什么?,ios,objective-c,uistoryboard,Ios,Objective C,Uistoryboard,我使用以下代码从主视图(ViewController.h)切换到另一个视图(TouchViewController),然后类似地从该视图切换到下一个视图(QuestionsViewController)。 如何从这里返回主视图?即initWithNibName对于MainStoryboard.storyboard的值是多少 - (IBAction)startGame:(UIButton *)sender { TouchViewController *second = [[TouchVi
ViewController.h
)切换到另一个视图(TouchViewController
),然后类似地从该视图切换到下一个视图(QuestionsViewController
)。如何从这里返回主视图?即
initWithNibName
对于MainStoryboard.storyboard
的值是多少
- (IBAction)startGame:(UIButton *)sender {
TouchViewController *second = [[TouchViewController alloc] initWithNibName:@"TouchViewController" bundle:nil];
[self presentViewController:second animated:YES completion:nil];
}
及
现在回到主视图,我有一个问题,即
- (IBAction)backtoMainMenu:(id)sender {
ViewController *second = [[ViewController alloc]initWithNibName:@"MainStoryboard.storyboard" bundle:nil];
[self presentViewController:second animated:YES completion:nil];
}
在这一点上,应用程序只是崩溃!我想这是因为
initWithNibName:@“MainStoryboard.storyboard”
不能使用,但是ViewController
没有任何其他xib
文件-那么我该怎么办呢?首先故事板
不能用作xib文件它们不是一回事。其次,您有一个视图控制器,它显示一个视图控制器,该视图控制器也显示一个视图控制器,因此您可以从第三个视图控制器执行以下操作:
[self.presentingViewController.presentingViewController
void)dismissViewControllerAnimated:YES completion:nil];
这是最快的方法,但它不是真正可重用的,如果您有一个更复杂的视图控制器层次结构,那么像这样做会非常难看,其他解决方案可以是delgate或通知
还有一条建议,当您想返回到上一个屏幕时,通常不知道如何创建新的视图控制器(当您尝试使用backToMainMenu
方法时,您只需删除所有视图控制器(屏幕),直到达到所需的屏幕
[self.presentingViewController.presentingViewController
void)dismissViewControllerAnimated:YES completion:nil];