私は基本的なiPhoneプログラミングを進めようとしています。Interface Builderの仕組みをよく理解していますので、プログラムでビューを実行することにしました。私はViewControllerアップルのガイドを通過し、どこでも検索し、私の問題の解決策を見つけることができないようです。これは私がそれが非常に単純な解決策であると信じるように導くが、私は本当に壁に頭を打つだけである。基本的に私がしようとしているのは、メインウィンドウをサブビューとして取得するビューを作成することです。 self.viewが定義されていないと、loadViewメソッドが呼び出され、すべてがそこに設定されているはずです。ここに私のコードの現在の状態は次のとおりです。このiPhoneプログラムが-loadViewを呼び出さないのはなぜですか?
デリゲート:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
StartMenuViewController *aViewController = [[StartMenuViewController alloc] init];
self.myViewController = aViewController;
[aViewController release];
UIView *controllersView = [myViewController view];
window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
[window setBackgroundColor:[UIColor redColor]];
[window addSubview:controllersView];
[window makeKeyAndVisible];
}
ビューコントローラ:事前に助けを
- (id)init {
if (self = [super init]) {
self.title = @"Start Menu";
}
return self;
}
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
UIView *startView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
[startView setAutoresizingMask:UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth];
[startView setBackgroundColor:[UIColor greenColor]];
self.view = startView;
[startView release];
}
ありがとう!
これは、ビューコントローラ の#import @interface StartMenuViewControllerためのヘッダである:のUIViewController { \tのUIView *図です。 } @property(非構造、保持)UIView *ビュー; @end –
Alex
@synthesizeビューを使用していますか?もしあなたがそうであれば、それは問題です。 view @property –
を宣言または実装する必要はありません(ビューのメンバーは持っていないはずですが、それは関連しているとは限りません)。 –