Предупреждение «Несбалансированные вызовы для начала / окончания переходов внешнего вида» при модальном нажатии на представление в XCode 4 с раскадровкой - PullRequest
26 голосов
/ 22 ноября 2011

После некоторых исследований в Интернете безуспешно, я пришел сюда, чтобы задать вам вопрос о моем предупреждении.

На самом деле, у меня есть представление V1 с контроллером навигации, и я хочу нажать модальное представление V2когда V1 закончил загрузку.Поэтому я использую метод performSegueWithIdentifier (я использую раскадровку).Вот мой код:

[self performSegueWithIdentifier:@"showConnexionViewSegue" sender:self];

И когда я скомпилировал, я получил это предупреждение:

Unbalanced calls to begin/end appearance transitions for <UINavigationController: 0x6849b30>

Кто-нибудь может мне помочь?

Ответы [ 4 ]

57 голосов
/ 22 ноября 2011

Похоже, что вы можете выполнять переход в -viewWillAppear:, создавая два -viewWillAppear: сообщения без 2 соответствующих -viewDidAppear сообщений.

Попробуйте выполнить переход в -viewDidAppear.

5 голосов
/ 03 июля 2013

'Несбалансированные вызовы для начала / конца переходов внешнего вида для'

Говорит, что анимация запускается до того, как последняя связанная анимация не будет выполнена.Итак, вы нажимаете какой-либо контроллер представления, прежде чем нажать новый?Или может выскочить в корень?если да, попробуйте сделать это без анимации, т.е. [self.navigationController popToRootViewControllerAnimated: NO];

и посмотрите, решит ли это проблему. В моем случае это помогло.

5 голосов
/ 18 июня 2012

У меня была эта проблема, но то, что я сделал, было на UIViewController Я связал Segue с UIButton, а также закодировал его в функцию nextBtnPressed:, поэтому я фактически выдвинул два новых UIViewControllersна одну кнопку нажмите.Ограничение только одним segue исправило это.Но потребовалось некоторое расследование, чтобы увидеть, что я сделал это вдвойне.

1 голос
/ 21 ноября 2012

Причины этого многообразны и очень специфичны для контекста и программирования. Например, то, что я делал, было

  1. инициализация звукового файла, его воспроизведение (асинхронно) в течение 1,4 секунд,
  2. перемещение изображения по экрану с использованием анимации, рассчитанной на 1,4 секунды, и
  3. с таймером, установленным на 1,4 секунды после шага 2, нажимая на контроллер вида.

Я обнаружил, что если у меня нет инструкций для этих трех шагов один за другим (если я их перепутаю), то я получаю ошибку «Несбалансированные звонки ...». Кроме того, если я установлю время нажатия контроллера представления менее чем на 1,4 секунды, я также получу сообщение.

Итак, проверьте правильность последовательности и времени выполнения ваших программных инструкций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...