強火で進め

このブログではプログラム関連の記事を中心に書いてます。

xibファイルをObjective-Cに変換するツール

配布サイトはこちら。

akosma's nib2objc at master - GitHub
http://github.com/akosma/nib2objc/tree/master

DLした物をXcodeでビルドするとコマンドラインアプリが生成されます。

xibファイルを引数にし、以下の様に使用します。

./nib2objc TestViewController.xib > output.txt

テストとしてこの様なレイアウトをしたxibファイルを変換してみました。

出力内容(UITextFieldの記述部分を抜粋)はこの様に成りました。

UITextField *view8 = [[UITextField alloc] initWithFrame:CGRectMake(111.0, 127.0, 97.0, 31.0)];
view8.frame = CGRectMake(111.0, 127.0, 97.0, 31.0);
view8.adjustsFontSizeToFitWidth = YES;
view8.alpha = 1.000;
view8.autocapitalizationType = UITextAutocapitalizationTypeNone;
view8.autocorrectionType = UITextAutocorrectionTypeDefault;
view8.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin;
view8.borderStyle = UITextBorderStyleRoundedRect;
view8.clearsContextBeforeDrawing = NO;
view8.clearsOnBeginEditing = YES;
view8.clipsToBounds = NO;
view8.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
view8.contentMode = UIViewContentModeScaleToFill;
view8.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
view8.enabled = YES;
view8.enablesReturnKeyAutomatically = NO;
view8.font = [UIFont fontWithName:@"Helvetica" size:12.000];
view8.hidden = NO;
view8.highlighted = NO;
view8.keyboardAppearance = UIKeyboardAppearanceDefault;
view8.keyboardType = UIKeyboardTypeDefault;
view8.minimumFontSize = 17.000;
view8.multipleTouchEnabled = NO;
view8.opaque = NO;
view8.returnKeyType = UIReturnKeyDefault;
view8.secureTextEntry = NO;
view8.selected = NO;
view8.tag = 0;
view8.text = @"World!";
view8.textAlignment = UITextAlignmentLeft;
view8.textColor = [UIColor colorWithWhite:0.000 alpha:1.000];
view8.userInteractionEnabled = YES;

プログラムに直接記述するためのツールとしてはもちろん、「Interface Builderで設定するあそこのパラメータって対応するプロパティって何だっけ?」といった場合にも役に立ちそうです。