Попробуйте получить доступ к backsideController.view перед началом анимации. Это приведет к вызову loadView и viewDidLoad для backsideController. Я предполагаю, что это ваш удар по производительности - все, что загружает и выделяет, заставляет анимацию заикаться.
Вам не нужно ничего фантастического, вы можете сделать что-то вроде:
if (backsideController.view == nil)
NSLog(@"Where's my view?!");
перед вашим другим кодом, выше.
Я не верю, что наличие множества подпредставлений вызывает проблемы с производительностью на флипе; Я почти уверен (не смотря на ваш код или проверяя инструменты, что вам следует делать!), Что проблема заключается во времени, которое требуется для загрузки и выделения компонентов представления.
Кроме того, я бы придерживался presentModalViewController
, если он делает то, что вы хотите. Наличие всего этого дополнительного кода во втором примере - если только он не нужен для функциональности - это просто головная боль при обслуживании.