我正在iOS版Objective-C中制作一个简单的文字游戏,我一开始选择了"Single View Application",所以我有一个myProgramViewController.xib文件,myProgramViewController.h和myProgramViewController.m各一个,难度,诸如此类的东西,还有一个"开始!"或"启动!"按钮。如何添加此菜单视图?我更希望用户(现在)不能返回到它,所以我宁愿不使用导航栏。
上面注释中的上下文。
当segue发生时,您可以将任何数据从一个ViewController传递到另一个。在你的情况下,我会做的是设置一个故事板,让菜单控制器作为初始视图控制器,然后让游戏屏幕成为一个模态片段。在- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
(在MenuViewController上)中,您可以获得segue.destinationViewController并在其上设置数据。
示例:
MenuViewController ---- playGameSegue ----> GameViewController
在MenuViewController.m 中
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
GameViewController * destination = (GameViewController*) sender.destinationViewController;
destination.anyPropertyYou'veDefinedInGameViewController.h = DATA;
destination.otherProperty = DATA;
}
您可以模式化地呈现视图。假设您有一个名为MainMenu的视图,它有一个.xib、.h和.m文件。
在myProgramViewController.m文件中,您可以调用代码
MainMenu *mainMenu = [[MainMenu alloc] initWithNibName:@"MainMenu" bundle:nil];
[self presentModalViewController:mainMenu animated:YES];
然后在您的MainMenu.m文件中,一旦用户做出选择,调用:
[self dismissModalViewControllerAnimated:YES];