I'm attempting to create a subview inside a regular view. When a button is clicked that is contained in this subview, it will flip over and show a new subview. This will is meant to simulate a card flipping over on a table. I have a DetailViewController that is an empty xib, but when it's loaded it loads another controller called CardFrontViewController that actually contains the subview (front of the card) all contained in a xib. Once the button inside the subview, it should load the subview that is contained inside the CardBackViewController xib.
Inside DetailViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
if (!self.cardFrontViewController)
{
self.cardFrontViewController = [[CardFrontViewController alloc] initWithNibName: @"CardFrontViewController" bundle: nil];
[self.view addSubview: self.cardFrontViewController.view];
}
[self configureView];
}
Inside CardFrontViewController
- (IBAction)flipToAnswerCard:(id)sender
{
if (!self.cardBackViewController)
{
self.cardBackViewController = [[CardBackViewController alloc] initWithNibName: @"CardBackViewController" bundle: nil];
}
[UIView transitionWithView: self.cardFrontContainerView
duration: 1.0
options: UIViewAnimationOptionTransitionFlipFromTop
animations: ^{ [self.cardFrontSubView removeFromSuperview];
[self.cardFrontContainerView addSubview: self.cardBackViewController.cardBackSubView]; }
completion: nil];
}
When I click the button to flip over the card, the card flips, but the view that is displayed is empty, meaning that the self.cardBackViewController.cardBackSubView is not loaded inside.
If I do [self.cardFrontContainerView addSubview: self.cardBackViewController.view]
inside the flip card method it loads the entire xib inside, but I really just want a view inside. I'm not sure what to do here.