xibを使わない方法に改造したり
しばらくブログの更新が滞ってました。(汗)
とある理由でxibを使わない方法を行う事になり、やってみたコトのまとめを書く事にします。
いくつかやり方を探したのですが、基本はこのサイトが良さそうです。
Interface Builder を使わない iPhone アプリを作る手順
xibを使わないようにしたのは、Xcode 3.2.4のOpenGLテンプレートから作ったゲームです。
他のテンプレートの方は読み替えてくださね。
さて、Interface Builder を使わない iPhone アプリを作る手順のテーブルビューを作る前までは大体同じです。
@synthesize window; だけでなく、@synthesize viewController; も同じように削除して問題なしです。
さて、windowとviewをコードで作らないといけません。
Interface Builder を使わない iPhone アプリを作る手順では、windowを作るだけでしたので、viewを追加しないといけません。
ちょっと手間取りました。
で、出来たコードが下のものです。
// appnameAppDelegate.h" - (void)applicationDidFinishLaunching:(UIApplication *)application { window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; viewController = [[appnameViewController alloc] init]; viewController.view = [[EAGLView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [viewController awakeFromNib]; // 初期化 [window addSubview:viewController.view]; [window makeKeyAndVisible]; }
自前でviewを作ったので、viewDidLoadには回ってきません。当たり前ですね。
もし、viewDidLoad に何かの初期化を書いていたら、あるいは、書く予定があったら
viewController の awakeFromNibメソッドに書いておきます。
※コメントにも書きましたけど、awakeFromNibメソッドは自前で呼び出さないとダメですね。xibから呼び出されるメソッドでした。
これで動くはずです。
あ、iAdの初期設定なども、awakeFromNib に書いておくと動きました。