我在没有IB的情况下制作应用程序时是否必须分配视图?

时间:2011-09-17 18:26:34

标签: iphone

我想在不使用IB的情况下制作基于窗口的应用程序。 我通过分配它创建了MyViewController。 我是否还必须在MyViewController中创建视图? 没有分配它,应用程序崩溃。 对于UITableViewController,UINavigationController,...我不必分配视图。 有什么区别?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    viewController = [[MyViewController alloc]init];
    viewController.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    [self.window addSubview:viewController.view]; // app crashes here without allocating view explicitly
}   

2 个答案:

答案 0 :(得分:0)

您应该像在代码中显示的那样显式地分配视图,或者在控制器中实现“loadView”,以便在屏幕上首次显示视图时创建视图。

答案 1 :(得分:0)

MyViewController *_myViewController = [[MyViewController alloc]init];
UIView* myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

_myViewController.view = myView
[myView release];
[self.window addSubview:myViewController.view];