当前位置:  开发笔记 > IOS > 正文

在没有xib的Cocoa Touch中以编程方式加载视图控制器和视图层次结构

如何解决《在没有xib的CocoaTouch中以编程方式加载视图控制器和视图层次结构》经验,为你挑选了1个好方法。

似乎所有的Cocoa Touch模板都设置为加载一个笔尖.

如果我想启动一个将要使用视图控制器的新项目,并以编程方式加载其视图(层次结构),而不是从nib/xib加载,那么设置或调整模板的步骤是什么.

我虽然只需要实现-loadView,但每次尝试这样做时都会遇到麻烦.



1> Brad Larson..:

完全编程的用户界面生成相当简单.首先,您需要编辑main.m以查看如下内容:

int main(int argc, char *argv[]) 
{
    NSAutoreleasePool *pool = [NSAutoreleasePool new];  
    UIApplicationMain(argc, argv, nil, @"MyAppDelegate");
    [pool release];
    return 0;   
}

其中MyAppDelegate是应用程序委托类的名称.这意味着将在启动时创建MyAppDelegate的实例,这通常由应用程序的主Nib文件处理.

在MyAppDelegate中,实现类似于以下的applicationDidFinishLaunching:方法:

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{    
    window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    if (!window) 
    {
        [self release];
        return;
    }
    window.backgroundColor = [UIColor whiteColor];

    rootController = [[MyRootViewController alloc] init];

    [window addSubview:rootController.view];
    [window makeKeyAndVisible];
    [window layoutSubviews];    
}

其中MyRootViewController是窗口中主视图的视图控制器.这应该初始化主窗口,并将MyRootViewController管理的视图添加到它.rootController作为委托中的实例变量保留,供以后参考.

这应该允许您通过MyRootViewController以编程方式生成用户界面.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有