"Неравновесные вызовы для начала/окончания появления переходов", предупреждающие, когда наводят вид в модальном виде в XCode 4 с помощью раскадровки

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

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

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

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

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

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

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

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

И посмотрим, разрешило ли это проблему, В моем случае это сделало трюк.

Ответ 4

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

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

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

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