不用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看一下:)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值