`

不用Interface Builder开发iPhone程序

阅读更多

首先注明一下,如果你还不能熟练使用Interface Builder,请最好不要阅读这篇文章。你最好把Interface Builder烂熟于心,才开始走上这条“不归路”比较好。

 

其次,我说一下为什么要抛开Interface Builder做开发,原因主要是:

[1] 更容易做多语言版本。虽然Xib文件是可以多语言化的,不过你重新去建立一些窗口,很麻烦的。

[2] Xib启动需要时间比用代码直接写慢,这个在iPhone上还是有感觉的。特别提示一点,如果自定义UITableViewCell,Cell数量大概6-7个,这个时间你几乎不能忍。

[3] Xib文件比代码建立UI文件大,如果要多语言就更是如此。

 

因为[1]的存在,可以说,不用Interface Builder做开发,是很有必要的。

 

Step 1  启动XCode,建立一个Window-base Application项目,这里假设项目名称是NoIBSample


 

Step 2 在Resource Group下面删除MainWindow.xib

 



 Step 3  选择NoIBSample-Info.plist,然后在右边框里删除Main nib file base name那一行。


Step 4 去掉关键字IBOutlet

打开NoIBSampleAppDelegate.h,然后去掉@property (nonatomic, retain) IBOutlet UIWindow *window;中的IBOutlet

 

Step 5 让main函数找到NoIBSampleAppDelegate

打开main.m,然后修改下面这行代码:

 

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

改成:

 

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

别忘了,在文件最开始加上#import "NoIBSampleAppDelegate.h"

好了,你可以在Simulator里面运行一下,应该是个黑屏。这很正常,因为我们没有创建任何Window和View。接下来,我们创键一个默认的View

 

Step 6 打开NoIBSampleAppDelegate.m,修改函数

 

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
	CGRect bounds = [[UIScreen mainScreen]bounds];
	window = [[UIWindow alloc]initWithFrame:bounds];
	CGRect frame = [[UIScreen mainScreen]applicationFrame];
	UIView *totalView = [[UIView alloc]initWithFrame:frame];
	totalView.backgroundColor = [UIColor whiteColor];
	totalView.alpha = 1.0f;
	[window addSubview:totalView];
	[totalView release];
    // Override point for customization after application launch
    [window makeKeyAndVisible];
}

 

好了,再运行一下就可以看到白色背景了。可以下载源代码NoIBSample.tar.bz2看一下:)

 

  • 大小: 71.4 KB
  • 大小: 60.5 KB
  • 大小: 95.1 KB
分享到:
评论
2 楼 proper 2009-11-14  
写得挺好挺详细,这样就可以得到一个没有IB的程序了.

IB开发的view虽然速度慢,但是还没有到不能忍受的程度,
对于没有特殊需求的人,还是不推荐抛开IB的.

有一个例外是基于OpenGL ES的游戏.我现在的做法就是抛开nib file,直接创建一个view,然后拿OpenGL的那个layer往上画.这种方法我还是比较推荐得.
1 楼 canco 2009-11-14  
   xib限制较多,直接写反而更灵活

相关推荐

    iphone 关于UITableView的排序,搜索、使用Interface Builder创建等

    本教程将深入探讨如何在iPhone应用中使用UITableView进行排序、搜索以及通过Interface Builder进行创建。 首先,我们来了解一下UITableView的基本概念。UITableView是一个视图控件,用于显示一列或多列数据,每个...

    iPhone Application Programming L02: Interface Builder

    Interface Builder是Xcode集成开发环境的一部分,用于创建iOS应用程序的用户界面。此外,还深入探讨了Objective-C中的几个核心类,如`NSObject`、`NSString`、`NSArray`、`NSSet`和`NSDictionary`等,并对它们的功能...

    【Interface Builder, Controls, Target-Action】[PDF] [iPhone/iPad/iOS]

    在给定的文件信息中,我们探讨了iOS应用开发的核心概念与技术,特别是关于Interface Builder、Controls、Target-Action以及模型-视图-控制器(Model-View-Controller,MVC)设计模式的关键知识点。 ### Interface ...

    iPhone开发的第一个程序HelloWorld

    * 使用 Xcode 和 Interface Builder,我们可以快速地设计和开发 iPhone 应用程序。 知识点二:View-based Application 的开发 * View-based Application 是一种常见的 iPhone 应用程序类型,使用 Xcode 的模板来...

    iPhone应用程序编程指南-中文版 pdf

    《iPhone应用程序编程指南》是一本面向开发者的重要参考资料,旨在帮助读者深入理解如何为Apple的iOS平台开发应用程序。这本书的中文版使得更多的中国开发者能够轻松掌握iOS应用开发的技术和技巧。 在iPhone应用...

    iphone开发实战

    本书全面探讨了iPhone平台的两种编程...在SDK开发方面,详细描述其各种组件和功能,包括Xcode、Interface Builder、视图控制器、用户交互、SDK工具包、加速计和GPS、媒体、图形等。 本书适合所有iPhone开发人员学习参考

    iPhone 开发应用程序

    《iPhone 开发应用程序》 在当今移动应用领域,iPhone应用程序的开发是一项不可或缺的技能。O'Reilly出版的《Learning iPhone Programming》(2010年3月版)是一本为初学者和有经验的开发者提供的全面指南,它深入...

    IPHONE程序开发基础

    《IPHONE程序开发基础》是针对初学者设计的一份教程,旨在帮助读者快速掌握iOS应用开发的基本技能。在这个教程中,我们将深入探讨iPhone程序开发的关键概念和技术,包括Swift编程语言、Xcode集成开发环境(IDE)、...

    iphone开发入门经典源码

    《iPhone开发入门经典》基于Apple最新发布的iPhoneOS3.0编写,循序渐进地介绍了从事iPhoneF发所需的基本知识,包括使用Xcode、Interface Builder、objective-C和(Cocoa Touch等开发工具,设计及美化用户界面,读写...

    iphone sdk for mac

    本文主要介绍如何使用iPhone SDK Beta 2及Interface Builder在Mac上创建一个简单的iPhone应用程序,类似于经典的“Hello, World!”示例。在这个过程中,我们将了解到如何使用Interface Builder设计用户界面,以及...

    iphone开发入门

    iPhone应用开发入门涉及理解用户交互、Outlet和Action的概念,以及如何使用Xcode和Interface Builder将它们连接起来。通过这个过程,开发者能够创建一个简单的、功能完整的应用,能够响应用户的操作并进行计算。随着...

    iPhone应用程序编程指南

    【iPhone应用程序编程指南】是为想要开发iOS应用的开发者准备的详细教程,主要关注使用Objective-C语言和iPhone SDK。此指南特别强调了本地应用程序与基于Web的应用程序的区别,前者能够充分利用设备特性,如加速计...

    轻松学iPhone开发

    还会涵盖iOS应用的基本架构,如Model-View-Controller (MVC)设计模式,以及界面构建,使用Interface Builder和Auto Layout创建动态布局。 第三篇可能进一步深入到iOS开发的特定领域,如网络编程(如使用URLSession...

    iPhone开发基础教程 源码

    iPhone开发基础教程 相配套源码。 第2章 创建基本项目  2.1 在Xcode中设置项目  2.2 InterfaceBuilder简介  2.2.1 nib文件的构成  2.2.2 在视图中添加标签  2.3 iPhone美化  2.4 小结  第3章 处理基本...

    iPhone开发实战.pdf

    - **Storyboard和Interface Builder**: 这些工具帮助开发者设计用户界面(UI)并将其与代码逻辑相连接。 - **模拟器与真机测试**: 在开发过程中,开发者可以使用Xcode自带的模拟器来进行初步测试,之后还可以在真实的...

    ①-iphone应用程序开发-iPhoneAppProgrammingGuide

    3. **界面设计与实现**:教授如何使用Storyboard或Interface Builder等工具来构建应用程序的用户界面。 4. **功能实现**:探讨如何实现诸如网络通信、数据库访问等高级功能。 5. **调试与优化**:介绍如何使用Xcode...

    《iPhone开发基础教程》

    本书提供了关于iPhone SDK和iPhone开发的全面信息,对Objective-C编程语言、Xcode和Interface Builder开发工具进行了深入浅出的介绍,同时对iPhone开发的基本流程、原理和原则进行了详细和通俗的讲解。本书采用理论...

Global site tag (gtag.js) - Google Analytics