Switching Views - view is empty.

Discussion in 'iPhone/iPad Programming' started by natanavra, Dec 28, 2008.

  1. macrumors newbie

    Joined:
    Dec 26, 2008
    #1
    Hi, I'm kinda new here so no flaming or anything please.
    anyways, I have a problem I am making a game and as I designed it, I have a splash screen (which is ok) after a few secs The view flips to the main menu.
    In the main menu I have a few button (arcade, help, statistics and about), I decided to create the about window first (easiest...).
    created an about.nib, and aboutview.m/h and aboutController.m/h, linked everything through IB and added these several lines of code:
    -------------------------------------------------------------------------------

    - (void)loadAboutView {
    aboutViewController *viewController = [[aboutViewController alloc] initWithNibName:mad:"about" bundle:nil];
    self.about = viewController;
    [viewController release];
    self.aboutNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 35.0)];
    self.aboutNavigationBar.barStyle = UIBarStyleBlackOpaque;
    UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:mad:selector(toggleAbout)];
    buttonItem.title = @"Back";
    UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:mad:"About"];
    navigationItem.rightBarButtonItem = buttonItem;
    [aboutNavigationBar pushNavigationItem:navigationItem animated:NO];
    [navigationItem release];
    [buttonItem release];
    }

    - (IBAction)toggleAbout {
    if(about == nil){
    [self loadAboutView];
    }
    UIView *mainView = about.view;
    UIView *flipsideView = flipsideViewController.view;
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:2.0];
    [UIView setAnimationTransition:([mainView superview] ? UIViewAnimationTransitionFlipFromRight : UIViewAnimationTransitionFlipFromLeft) forView:self.view cache:YES];

    if ([mainView superview] != nil) {
    [flipsideViewController viewWillAppear:YES];
    [about viewWillDisappear:YES];
    [mainView removeFromSuperview];
    [self.view addSubview:flipsideView];
    [about viewDidDisappear:YES];
    [flipsideViewController viewDidAppear:YES];

    } else {
    [about viewWillAppear:YES];
    [flipsideViewController viewWillDisappear:YES];
    [flipsideView removeFromSuperview];
    [self.view insertSubview:aboutNavigationBar aboveSubview:mainView];
    [flipsideViewController viewDidDisappear:YES];
    [mainViewController viewDidAppear:YES];
    }
    [UIView commitAnimations];
    }
    -------------------------------------------------------------------------------

    in the main menu when I click the about button the View flips into an empty view... any ideas?
    if anyone can point out the mistake or give an ex. to a right piece of code - will be most appriciated.
    ~Thanks in advance.
     
  2. Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #2
    You main menu is your main view, right? So why are you setting your mainView variable to about.view? I would think you'd want about.view to be your flipsideView.
     
  3. thread starter macrumors newbie

    Joined:
    Dec 26, 2008
    #3
    Hi,
    If you could - please close this topic, I made a new app and everything is super cool!
    I guess the problem was that I didn't link the views in the interface builder - not sure about it.
    anyways I'm cool - you can close this topic.
     

Share This Page