2012-02-10 14 views
0

私はそのトピックについてかなりのスレッドがあることを知っており、すべてのオプションを試しました。しかし、何も動作しません。iPhoneの目的c起動時に読み込む表示コントローラを選択する方法

ここで私は、loginviewcontrollerとtabbarviewcontrollerを持っています。デバイスがすでに登録されている場合は、loginviewではなく、タブバーが表示されます。私はストーリーボードの初期ビューコントローラーとしてtabbarviewcontollerを持っています。これは、デバイスが登録されている場合に機能します。 これは、私は基本的に何をすべきかです:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 

//define viewcontroller 
LoginViewController *loginviewcontroller = [[LoginViewController alloc]init]; 

//check if device id in coredata 
NSString *deviceId = [self retrieveFromUserDefaults:cKey_DeviceId]; 
if(deviceId == nil){ 
    NSLog(@"device not registered"); 
    [self.window setRootViewController:loginviewcontroller]; 
    [self.window addSubview:loginviewcontroller.view]; 
} 

//show them 
[self.window makeKeyAndVisible]; 

return YES; 

}

loginviewがロードされていることを、私は私のloginviewのviewDidLoadメソッド内のNSLog出力を持っているので、私は知っています。しかし、画面は黒です!どうしてか分かりません。 viewcontrollerはviewdidloadメソッドを実行しますが、画面出力はありません。

何が間違っていますか?

おかげ ドミニクLoginViewControllerが.xibファイルがある場合、あなたは間違ってinitメソッドを呼び出している

+0

NSLog(@ "デバイスが登録されていません");あなたはログにこれを手に入れましたか? – hchouhan02

+0

あなたは間違いなく 'ウィンドウ'を配線していますか?あなたが 'NSLog(@"%@ "、self.window)'ならば、意味のある出力を得ますか? – Tommy

+0

ええ、私はログを取得 "デバイスが登録されていない"! –

答えて

0

。あなたは、initWithNibName:bundle:メソッドが必要です。

また、ルートビューコントローラを設定した後に[self.window addSubview:loginviewcontroller.view];に電話する必要はありません。

また、deviceIdがnullでない場合は、空白の画面が表示されます。

loginviewcontrollerがメモリをリークしています。ルートビューコントローラに設定した後にリリースする必要があります。

+0

こんにちは、私はstroyboardで作業しているので、loginviewcontrollerの.xibファイルはありません。私は似たようなものが欲しい最初のアプリではありません。 ios4を使用し、ストーリーボードを使用していない前回は簡単でした。 –

+0

BTW:sdk5のios4.2はARCのためにリリースできません。 –

0

ほとんどの場合、パスワードを使用して、最初の(すでにログインした)画面を読み込んでから、ログインが必要かどうかを確認するのが最善の方法です。そうであれば、直ちにモーダルビューとしてログイン画面を表示してください。最初の画面でviewDidLoadからログイン画面を起動します。

+0

良いアイデア、明日、私はそれを試してみます、ありがとう。場合によっては、あなたが "何か問題がある"ときには、他の何かを見ることはできません;) –

+0

どの方法がモーダルビューをポップするのに最適でしょうか? viewdidloadまたはviewwillapear?その他の示唆? –

+0

お探しの電話はpresentModalViewController:animated: –

関連する問題