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で設定するあそこのパラメータって対応するプロパティって何だっけ?」といった場合にも役に立ちそうです。