У меня есть два контроллера представления, которые связаны друг с другом через переходы. Оба перехода являются модальными и имеют идентификаторы. Оба контроллера представления имеют идентификаторы и заголовки раскадровки. Когда я перехожу к своему второму контроллеру представления (VC2), я иногда получаю полностью черный экран (за исключением, как ни странно, UILabel, текст которого обновляется NSTimer каждую секунду). Мне нужно несколько раз поставить/снять галочку с анимации в переходе, чтобы она снова заработала. Я понятия не имею, почему это происходит. Я попытался программно переключать представления, и проблема исчезла, но я бы предпочел использовать меньше кода, и мне приходится обмениваться данными между переходами. У кого-нибудь есть идея?
Xcode segue иногда приводит к заднему экрану
comment
Похоже, у вас немного необычная установка с двумя контроллерами представления, связанными друг с другом отдельными модальными переходами. Обычно один VC выступал в качестве родителя и запускал другой через модальный переход. Модальный VC будет использовать откат, чтобы вернуться к родителю.
- person Calvedos   schedule 19.07.2014
comment
Вау, даже не знал об этом. Хотя пробовал, но все равно не получилось.
- person Kevin doesmath   schedule 19.07.2014
Ответы (2)
Либо попробуйте, что говорит Кальвдеос
Или используйте навигационный контроллер. Нажмите первый VC в навигационном контроллере. Затем, по действию пользователя, нажмите на него второй VC. Затем, когда VC2 будет готов, извлеките его из стека VC.
Это действительно зависит от того, какой поток. Если вы расширите логический поток, я могу предложить лучше.
person
hackerinheels
schedule
19.07.2014
Извините за задержку с ответом. Я пробовал оба вышеперечисленных, но все еще получаю проблему. Любая подсказка, что может быть основной причиной? В viewDidLoad моего второго контроллера я инициализирую несколько целых и логических значений, запускаю таймер и начинаю воспроизводить музыку.
- person Kevin doesmath; 29.07.2014
Всем спасибо. Удалось исправить. UILabel, который будет отображаться под черным экраном, имел плохой IBOutlet. Удалил эту розетку и починил, все заработало нормально.
person
Kevin doesmath
schedule
31.07.2014