iPadアプリでsplitViewControllerを使用していますが、その前にログインがあり、認証に成功したらルートと詳細ビューを更新します。問題は、メインビューをロードすると何も起こらず、ビューをプッシュしようとしてもイベントがないことです。
ログイン ビューをモーダルにロードしているときに、次のエラーが表示されます。
これを使用して、メインビュー(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:@"Logout" style:UIBarButtonItemStyleBordered target:self action:@selector(logout)]; //まだログインしていない場合は、ログインビューを表示 [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;
}
誰でも私を助けることができますか?
よろしくお願いします!