如何启动iPhone应用程序,以便它不使用任何nib文件?

时间:2011-08-31 07:55:45

标签: iphone ios interface nib builder

我一直在阅读有/没有界面构建器的编程优缺点,我想尝试从头开始编写应用程序。但是,即使使用基于窗口的应用程序,它也会创建一个xib文件,我想删除它,但不知道该怎么做。真的需要那个快速启动。谢谢!

5 个答案:

答案 0 :(得分:2)

从根本上说,你必须在UIApplicationMain()(在main.m中)中指定appDelegate,即......来自:

int retVal = UIApplicationMain(argc, argv, nil, nil);

为:

int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegate");

然后在MyAppDelegate的方法应用程序:didFinishLaunchingWithOptions:中你必须手动创建你的UI:

// initialize application's window
_window = [[UIWindow alloc] initWithFrame:MAIN_FRAME];

// activate and display application's window
[_window makeKeyAndVisible];

......等等

答案 1 :(得分:0)

您可以创建任何项目,在添加新的viewController时,只需取消选中“With XIB for UserInterface”复选框(如下图红色箭头所示)。

这将允许您创建不带XIB的viewControllers。

但是你必须以编程方式为viewController

添加所有控件

enter image description here

不要使用默认进来的viewController,并使用上面提到的方法添加newViewController。

然后使用其分配(alloc)和初始化(init)方法开始创建您想要的控件,如UIButton,UILabel等,并设置其框架。

然后,您需要根据您的要求设置任何属性,然后将其作为子视图添加到viewwController的主视图中。所以这就像说动态添加textField会是:

UITextField *txtField = [[UITextField alloc] initWithFrame:CGRectMake(150,30,40,24)];
txtField.textColor = [UIColor blueColor];
[self.view addSubview:txtField];

希望这会对你有所帮助。

答案 2 :(得分:0)

有几种方法,其中一种方法很简单: 转到项目文件导航器,查找

"Supporting Files -> XXX-info.plist", 

然后寻找:

Main nib file base name: 

删除它。

希望这个帮助

答案 3 :(得分:0)

希望以下步骤有用。

  1. 打开ProjectNameInfo.plist文件,然后删除名为Main nib文件基名的属性(位于信息属性列表的底部)。您可以通过单击以选中它,然后按Delete键删除属性。

  2. 在Other Sources下,打开main.m,并将调用UIApplicationMain的最后一个参数从nil更改为应用程序委托类的名称(例如,@“ProjectNameAppDelegate”)。

  3. 在AppDelegate类中执行以下更改didFinishLaunchingWithOptions:method

  4. //获取屏幕的矩形

    CGRect screenBounds = [[UIScreen mainScreen] bounds];

    //分配窗口

    m_window = [[UIWindow alloc] initWithFrame:screenBounds];

    //分配自定义视图

    m_view = [[MyView alloc] initWithFrame:screenBounds];

    //添加视图并使窗口可见

    [m_window addSubview:m_view];

    [m_window makeKeyAndVisible];

    返回YES;

    - >我是从iPhone 3D编程中学到的:Philip Rideout:O'Reilly出版。

    你应该在goole书籍中找到以上内容并阅读一些页面以便进一步理解,因为只有上述说明可能还不够。

    此外,执行上述步骤后,您可以在不使用xib的情况下制作任意数量的视图控制器和视图...所以请参阅apple提供的各种编程指南文档。

    祝你好运

答案 4 :(得分:0)

我为Xcode 4制作了一些无笔尖的项目模板:MinimalisticXcodeTemplates (GitHub)