将XIB文件自动转换为Objective-C源代码文件

转自:http://www.yifeiyang.net/iphone-development-techniques-of-the-tools-for-chapter-1-the-xib-file-is-converted-to-objective-c-source-code/

 

 nib2objc 是一个小巧的转换工具,可以将 XIB 文件自动转换为 Objective-C 的源代码文件。

    通常,考虑到程序的效率时,才将XIB直接转换为源代码文件。但是这样一来,通过Interface Builder设定的实例变量与行为方法的接续也没有了,需要从新手写。但是,该工具的源代码是公开的,稍加修饰,就能完成大部分工作。

    使用的时候,首先下载的工程代码并用XCode编译一下,会生成一个命令行程序文件 nib2objc。然后如下所示执行转换:

$ nib2objc WebView.xib > WebView.m

将XIB文件自动转换为Objective-C源代码文件

    像是上面view转换后会输出以下代码:

UIBarButtonItem *view39 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

view39.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view39.enabled = YES;

view39.style = UIBarButtonItemStylePlain;

view39.tag = 0;

view39.width = 0.000;



UIBarButtonItem *view64 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];

view64.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view64.enabled = YES;

view64.style = UIBarButtonItemStylePlain;

view64.tag = 0;

view64.width = 0.000;



UIBarButtonItem *view57 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

view57.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view57.enabled = YES;

view57.style = UIBarButtonItemStylePlain;

view57.tag = 0;

view57.width = 0.000;



UIBarButtonItem *view33 = [[UIBarButtonItem alloc] initWithTitle:(null) style:UIBarButtonItemStylePlain target:nil action:nil];

view33.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view33.enabled = YES;

view33.image = nil;

view33.style = UIBarButtonItemStylePlain;

view33.tag = 0;

view33.width = 0.000;



UIBarButtonItem *view66 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

view66.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view66.enabled = YES;

view66.style = UIBarButtonItemStylePlain;

view66.tag = 0;

view66.width = 0.000;



UIWebView *view31 = [[UIWebView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 460.0)];

view31.frame = CGRectMake(0.0, 0.0, 320.0, 460.0);

view31.alpha = 1.000;

view31.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

view31.backgroundColor = [UIColor colorWithWhite:1.000 alpha:1.000];

view31.clearsContextBeforeDrawing = YES;

view31.clipsToBounds = YES;

view31.contentMode = UIViewContentModeScaleToFill;

view31.detectsPhoneNumbers = NO;

view31.hidden = NO;

view31.multipleTouchEnabled = YES;

view31.opaque = YES;

view31.scalesPageToFit = YES;

view31.tag = 0;

view31.userInteractionEnabled = YES;



UIBarButtonItem *view56 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemStop target:nil action:nil];

view56.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view56.enabled = YES;

view56.style = UIBarButtonItemStylePlain;

view56.tag = 0;

view56.width = 0.000;



UIBarButtonItem *view48 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

view48.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view48.enabled = YES;

view48.style = UIBarButtonItemStylePlain;

view48.tag = 0;

view48.width = 0.000;



UIToolbar *view32 = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0, 416.0, 320.0, 44.0)];

view32.frame = CGRectMake(0.0, 416.0, 320.0, 44.0);

view32.alpha = 1.000;

view32.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin;

view32.barStyle = UIBarStyleBlackTranslucent;

view32.clearsContextBeforeDrawing = NO;

view32.clipsToBounds = NO;

view32.contentMode = UIViewContentModeScaleToFill;

view32.hidden = NO;

view32.multipleTouchEnabled = NO;

view32.opaque = NO;

view32.tag = 0;

view32.userInteractionEnabled = YES;



UIBarButtonItem *view34 = [[UIBarButtonItem alloc] initWithTitle:(null) style:UIBarButtonItemStylePlain target:nil action:nil];

view34.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view34.enabled = YES;

view34.image = nil;

view34.style = UIBarButtonItemStylePlain;

view34.tag = 0;

view34.width = 0.000;



UIBarButtonItem *view36 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

view36.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view36.enabled = YES;

view36.style = UIBarButtonItemStylePlain;

view36.tag = 0;

view36.width = 0.000;



UIView *view27 = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 460.0)];

view27.frame = CGRectMake(0.0, 0.0, 320.0, 460.0);

view27.alpha = 1.000;

view27.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin;

view27.backgroundColor = [UIColor colorWithWhite:1.000 alpha:1.000];

view27.clearsContextBeforeDrawing = NO;

view27.clipsToBounds = NO;

view27.contentMode = UIViewContentModeScaleToFill;

view27.hidden = NO;

view27.multipleTouchEnabled = NO;

view27.opaque = YES;

view27.tag = 0;

view27.userInteractionEnabled = YES;



UIBarButtonItem *view38 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

view38.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view38.enabled = YES;

view38.style = UIBarButtonItemStylePlain;

view38.tag = 0;

view38.width = 0.000;



UIBarButtonItem *view35 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:nil action:nil];

view35.frame = CGRectMake(0.0, 0.0, 0.0, 0.0);

view35.enabled = YES;

view35.style = UIBarButtonItemStylePlain;

view35.tag = 0;

view35.width = 0.000;



[view27 addSubview:view31];

[view32 addSubview:view33];

[view32 addSubview:view34];

[view32 addSubview:view36];

[view32 addSubview:view38];

[view32 addSubview:view39];

[view32 addSubview:view48];

[view32 addSubview:view57];

[view32 addSubview:view35];

[view32 addSubview:view56];

[view32 addSubview:view64];

[view32 addSubview:view66];

[view27 addSubview:view32];

 

你可能感兴趣的:(Objective-C)