2012-05-14 6 views
1

私のiPadアプリでSplitControllerを使用していますが、それ以前にはログインがあり、正常に認証されたときにルートと詳細ビューが更新されます。問題は、メインビューをロードしても何も起こらないと、どのビューもプッシュしてみるとイベントがないということです。<RevealController:0xe9069b0>

そして私は、私はこのエラーを取得するモーダルログインビューをロードしながら、「

用/終了外観遷移を開始するアンバランスの呼び出しを私はこれを使って、MAINVIEW(frontViewController)でログインビューを実行します。

-(void)displayLoginView:(BOOL)animated{ 
LoginView *loginController = [[LoginView alloc] initWithNibName:@"LoginView" bundle:nil]; 
[self presentModalViewController:loginController animated:YES]; 

}

- (void)viewDidLoad{ 
[super viewDidLoad]; 

//Add logout button 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItemのalloc] initWithTitle:@ "ログアウト" スタイル:UIBarButtonItemStyleBorderedターゲット:自己行動:@セレクタ(ログアウト)]; //まだログインしていない場合、ログインビューを表示します [self displayLoginView:NO]; }

-(void)logout{ 
[self displayLoginView:YES]; 

}

とappdelegate.m:

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

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

FrontViewController *frontViewController; 

RearViewController *rearViewController; 

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){ 

frontViewController = [[FrontViewController alloc]   initWithNibName:@"FrontViewController_iPhone" bundle:nil]; 

rearViewController = [[RearViewController alloc] initWithNibName:@"RearViewController_iPhone" bundle:nil]; 
} 
else{ 
    frontViewController = [[FrontViewController alloc] initWithNibName:@"FrontViewController_iPad" bundle:nil]; 

    rearViewController = [[RearViewController alloc] initWithNibName:@"RearViewController_iPad" bundle:nil]; 
} 

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController]; 
    RevealController *revealController = [[RevealController alloc] initWithFrontViewController:navigationController rearViewController:rearViewController]; 
self.viewController = revealController; 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 
return YES; 

}

誰も私を助けることができますか?

ありがとうございます!

答えて

13

viewWillAppear:animated:, viewDidAppear:animated:, viewWillDisappear:animated:, and viewDidDisappear:animated:メソッドを確認してください。実装していないか、[super viewDid ....]を呼び出す必要があります。 私は同じpbを持っていました。原因はshouldAutoRotateToInterfaceOrientationでした。一方はfalseを返していましたが、他の人はtrueを返していましたが、同じものを返すように設定しました。

+2

私はこれらの2つのメソッドでsuperを呼び出すことを完全に忘れていました...私は組み込みのナビゲーションコントローラを備えたtabBarControllerを持っていましたが、tabBarControllerではviewWillAppearとviewDidAppearを上書きしましたが、[super viewWillAppear]と[super viewDidAppear ]それがこのメッセージを表示させる原因となるものであり、アニメーションも滑らかではありません。ありがとうAbzamon、私はあなたがすぐにあなたの答えを受け入れることを望む:) – Roger

+0

私は正確にロジャーと同じ問題を抱えていた。ありがとうAbzamon、これはそれを修正! – matsr

+2

正しい答えではありません。それは正確な出現手続きを受けていないと言って、被告人の見た目に関連しています。 –

関連する問題