如何从xib实例化UIViewController子类?

时间:2011-11-22 02:46:42

标签: iphone uiview uiviewcontroller interface-builder

我在界面构建器中有一个带有UIView的UIViewController。我不能为我的生活得到适当的实例化。

我正在使用:

LoginViewController* myViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil] self.window.rootViewController = myViewController;

有任何帮助吗?提前谢谢。

2 个答案:

答案 0 :(得分:2)

从您提供的行中,似乎正确地完成了实例化。你不是忘了把myViewController视图添加到窗口吗?像这样: [self.window addSubView:myViewController.view]

答案 1 :(得分:1)

它不应该像你拥有它一样,你忘记了一步;尝试:

LoginViewController* controller = [[[LoginViewController alloc]
    initWithNibName:@"LoginViewController" bundle:nil] autorelease];

self.window.rootViewController = controller;
[self.window makeKeyAndVisible];

它是自动释放的,因此您不必手动释放它,并且一旦不再需要对该对象的引用将被释放。此外,只要nib名称与视图控制器的名称相同,指定nib名称是可选的,在这种情况下它似乎是。所以,你真的可以做到:

LoginViewController* controller = [[[LoginViewController alloc] init] autorelease];

self.window.rootViewController = controller;
[self.window makeKeyAndVisible];