Я пытаюсь создать подпредставление в обычном представлении. Когда нажата кнопка, которая содержится в этом подпредставлении, она перевернется и покажет новое подпредставление. Это завещание предназначено для имитации переворачивания карты на столе. У меня есть DetailViewController, который является пустой XIB, но когда он загружен, он загружает другой контроллер с именем CardFrontViewController, который на самом деле содержит подпредставление (передняя часть карты) все содержится в XIB. После того, как кнопка внутри подпредставления, она должна загрузить подпредставление, которое содержится внутри xib CardBackViewController.
Внутри 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];
}
Внутри 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];
}
Когда я нажимаю кнопку, чтобы перевернуть карту, карта переворачивается, но отображаемое представление пустое, что означает, что self.cardBackViewController.cardBackSubView не загружен внутрь.
Если я сделаю [self.cardFrontContainerView addSubview: self.cardBackViewController.view]
внутри метода флип-карты, он загрузит весь XIB внутри, но я действительно просто хочу посмотреть внутрь. Я не уверен, что делать здесь.