user1306828
user1306828

Reputation: 715

How to load a view controller using a segmentControl value change event?

I have three views each represented by a View controller named firstVC, secondVC and thirdVC. In the firstView (firstVC) I have a segmented control with three options first,second and third. When I click on the second segment control I want to load the corresponding view controller which in this case would be secondVC. I am new to View Controllers but I did try various options. I created an outlet and also a value changed event. I event tried pushing a view controller when the value changes but it pulls a blank page as opposed to secondVC.

Please see below for the code.

- (IBAction)chainAction:(id)sender {
   UINavigationController *navcon = self.navigationController;

   if (chainSegControl.selectedSegmentIndex == 1) {       
      secondVC *atSecondVCChain = [[secondVC alloc] init];
      [navcon pushViewController:atSecondVCChain animated:YES];
    }
}

Any help would be greatly appreciated. Thank You.

P.S I am using Xcode 4.2

Upvotes: 0

Views: 166

Answers (1)

Phillip Mills
Phillip Mills

Reputation: 31026

Instead of using alloc to create a controller, define a named segue in your storyboard (if you don't already have one) that describes a push from firstVC to secondVC and then use the performSegueWithIdentifier:sender: method instead of pushViewController:.

Upvotes: 1

Related Questions