如何在if语句OBJ C中加载新的viewcontroller

时间:2011-05-13 16:45:33

标签: objective-c xcode ios viewcontroller

试图找出如何从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。

如果有人能指出这个新手正确的方向吗?

由于

2 个答案:

答案 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;
}