views:

26

answers:

1

I need help figuring out how to change out the view in my application. I have a wonderfully working view that I have finished and now I'd like to be able to switch the view to a brand new, blank white screen to display.

I have these files: HelloAppDelegate.h, HelloAppDelegate.m, HelloViewController.h, and HelloViewController.m

Then, I added a new View Controller so now I have two more files: SecondViewController.h and SecondViewController.m

In my first view (HelloViewController), I have a button. When the user presses this button, I'd like SecondViewController to show up. So, in my HelloViewController.m, I have an action method

-(IBAction)switchToSecondView:(id)sender {
}

In this method, how can I go about initializing my second view and displaying it?

Thanks in advance!

A: 

If you want to do something like flipping view, making it modal and then returning back to the main view do following:

Define a delegate to indicate that secondary view finished its work

@protocol FlipsideViewControllerDelegate
    - (void)flipsideViewControllerDidFinish; 
@end

In main view do following:

- (void)flipsideViewControllerDidFinish {
    [self dismissModalViewControllerAnimated:YES];
}

- (IBAction)showInfo {    

    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
    controller.delegate = self;

    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:controller animated:YES];

    [controller release];
}

In secondary view do following:

- (IBAction)done {
    [self.delegate flipsideViewControllerDidFinish];    
}
sha