I have ipad with splitViewController with multiple detailViewController it work fine but i want that when user click on Login Button and goes to LoginScreen then when sign in button is clicked on login Screen then it should reload the whole splitViewController and show first screen rather then showing the screen from where we clicked the login button here is my code
- (void) loginPressed
{
LoginViewController *targetController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
targetController.modalPresentationStyle = UIModalPresentationFullScreen;
[self.splitViewController presentViewController:targetController animated:YES completion:nil];
}
}
here is sign in button in Login ViewController code
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadRoot" object:self];
FirstDetailViewController*targetController=[[FirstDetailViewController alloc]init];
[self.splitViewController pushViewController:targetController animated:YES] ;
Notification code in app delegate.
-(void)actionNotificationData:(NSNotification *)notification {
jani=@"No";
self.window.rootViewController=splitViewController;
}
Here is my RootViewController which is tableView is code in splitView Conroller when we clic on any cell move to new view
[self.appDelegate.splitViewController viewWillDisappear:YES];
NSMutableArray *viewControllerArray=[[NSMutableArray alloc] initWithArray:[[self.appDelegate.splitViewController.viewControllers objectAtIndex:1] viewControllers]];
[viewControllerArray removeLastObject];
if (row == 0) {
self.firstDetailViewController=[[[FirstDetailViewController alloc] init]autorelease];
[viewControllerArray addObject:self.firstDetailViewController];
self.appDelegate.splitViewController.delegate = self.firstDetailViewController;
}
if (row == 1) {
self.secondDetailViewController=[[[SecondDetailViewController alloc]init]autorelease];
[viewControllerArray addObject:self.secondDetailViewController];
self.appDelegate.splitViewController.delegate = self.secondDetailViewController;
}
if (row == 2) {
self.myLearningViewController=[[[MyLearningViewController alloc]init]autorelease];
[viewControllerArray addObject:self.myLearningViewController];
self.appDelegate.splitViewController.delegate = self.myLearningViewController;
}
if (row == 3) {
self.communityViewController=[[[CommunityViewController alloc]init]autorelease];
[viewControllerArray addObject:self.communityViewController];
self.appDelegate.splitViewController.delegate = self.communityViewController;
}
if (row == 4) {
self.reportsViewController=[[[ReportsViewController alloc]init]autorelease];
[viewControllerArray addObject:self.reportsViewController];
self.appDelegate.splitViewController.delegate = self.reportsViewController;
}
if (row == 5) {
self.walkInViewController=[[[WalkInViewController alloc]init]autorelease];
[viewControllerArray addObject:self.walkInViewController];
//self.appDelegate.splitViewController.delegate = self.secondDetailViewController;
self.appDelegate.splitViewController.delegate = self.walkInViewController;
}
if (row == 6) {
self.postDataViewController=[[[PostDataViewController alloc]init]autorelease];
[viewControllerArray addObject:self.postDataViewController];
self.appDelegate.splitViewController.delegate = self.postDataViewController;
}
[[self.appDelegate.splitViewController.viewControllers objectAtIndex:1] setViewControllers:viewControllerArray animated:NO];
[self.appDelegate.splitViewController viewWillAppear:YES];
[viewControllerArray release];
}