试图找出如何从ObjectiveC中的if语句中加载新的viewcontroller。
基本上,当应用程序首次启动时,我想检查之前是否已经输入过用户详细信息,如果没有,请转到用户详细信息屏幕。如果已输入详细信息,请转到主菜单屏幕。
我的if语句:
if (gGroupDetails != 0)
{
//This will go to default page (main menu)
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
else
{
//This will go to the edit details page
self.window.rootViewController = self.editUser;
[self.window makeKeyAndVisible];
return YES;
}
我正在显示主菜单,但用户详细信息只显示为空白屏幕。
我已为两个viewcontrollers设置了nib。
如果有人能指出这个新手正确的方向吗?
由于
答案 0 :(得分:1)
看起来你正在AppDelegate中这样做。只需使用
MyNewViewController *controller = [[MyNewViewController alloc] initWithNibName:@"MyNewViewController" bundle:nil];
[self.window addSubview:controller.view];
答案 1 :(得分:0)
我不知道gGroupDetails是什么,但我认为它的值可能是负数。 所以你可以这样做,如果你有两个名为'MainViewController'和'EditViewController'的xib文件 在.m中修改init方法如下:
(id)init{
NSString* nibName = gGroupDetails > 0 || gGroupDetails < 0 ? @"MainView" : @"EditView";
if (self = [super initWithNibName:nibName bundle:nil]) {
self.wantsFullScreenLayout = YES;
}
return self;
}