`

不用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创建等iphone 关于UITableView的排序,搜索、使用Interface Builder创建等

    iphone sdk for mac

    苹果为我们放出了最新的iPhone SDK Beta 2,还附带了一个超牛的Interface Builder。不拿它做点什么,苹果迷是不会罢休的。可是苹果比较不厚道的是,没有太多地方提及怎么把Interface Builder和iPhone SDK揉到一起的...

    iPhone Application Programming L02: Interface Builder

    iPhone Application Programming

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

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

    iphone开发实战

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

    iphone开发入门经典源码

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

    iPhone开发基础教程 源码

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

    《iPhone开发基础教程》

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

    第一个iphone程序

    本教程向您演示如何创建一个简单的iPhone应用程序。向您描述: 如何使用Xcode 创建并管理一个工程 基础设计模式和iPhone 开发的...Interface Builder 使用入门 如何让应用程序响应来自标准用户接口控件的用户输入

    iPhone与iPad开发实战(iPhone and iPad in Action )

    首先介绍了Objective-C、Xcode、Interface Builder、视图控制器、标准事件和动作模型等基础知识,接着介绍了一些数据访问方法与出色的硬件功能(加速计、GPS 和罗盘),然后讨论了媒体、音频、图形、互联网等主题,...

    《iPhone开发实战》.(Christopher Allen).pdf

    在 web开发方面,分别介绍了三个 iphone web库,即 webkit、iui和 canvas,并讨论了 web开发环境 dashcode,最后阐述 web应用程序的调试。在 sdk开发方面,详细描述其各种组件和功能,包括 xcode、interface builder...

    iphone开发--计算器

    ios方面的计算器程序,通过这个程序我们至少可以学会基于视图的应用程序开发的流程(定义输入口和操作、连接到Interface Builder、实现我们的程序逻辑等),掌握了Xcode、InterfaceBuilder和模拟器之间的配合开发。

    iPhone开发基础教程PDF(含源代码)

     2.2 InterfaceBuilder简介  2.2.1 nib文件的构成  2.2.2 在视图中添加标签  2.3 iPhone美化  2.4 小结  第3章 处理基本交互  3.1 模型-视图-控制器范型  3.2 创建项目  3.3 创建视图控制器  3.3.1 输出口...

    iPhone开发前的准备

    2 我在Windows装了开发环境,为什么找不到Interface Builder? 3 我没有苹果电脑,怎么办? 4 进行iPhone开发需要真机调试吗?如何做?用iPod Touch可以吗? 6 我有iPhone开发的问题,怎么办? 7 有开发必读的书或者...

    Sams教你24小时内学会iPhone应用开发_英文_2nd版本[pdf]

    5th)探究接口构件器(Interface Builder) 6th)模型-视觉-控制 设计模式 7th)操作文本、键盘和按钮 8th)处理图像、动画和幻灯片 9th)使用高级界面对象 10th)获得用户注意 11th)根据多点触碰获知多选 12th)通过工具栏...

    盛戈移软iPhone开发内部培训PPT合集

    资源名称:盛戈移软iPhone开发内部培训PPT合集资源目录:【】第10章 iPhone应用程序的调试打包与发布【】第1章 iPhone开发与Appstore【】第2章 成为iphone开发者【】第3章 Objective-C 语法【】第4章 Cocoa Touch...

    iOS 9开发指南 [管蕾 编著] 2015年版(2-2)

    本书从搭建开发环境讲起,依次讲解了Objective-C语言基础,Swift语言基础,Cocoa Touch,Xcode Interface Builder界面开发,使用Xcode编写MVC程序,文本框和文本视图,按钮和标签,滑块、步进和图像,开关控件和分段...

Global site tag (gtag.js) - Google Analytics