Представление контроллера представления в текущей контекстной раскадровке

Я пытался решить эту проблему некоторое время с разными людьми, предлагающими несколько разных способов добиться этого, и ни один из них не работает для меня.

Я пытаюсь отобразить контроллер представления в текущем контексте с четким фоном. Однако каждый раз, когда я выполняю переход, контроллер представления под ним удаляется из иерархии представлений.

Вот представленный контроллер представления. Представление контроллера представления

А вот текущее состояние при представлении представления модально. Модальное всплывающее окно

Когда происходит переход, модальное окно имеет правильный эффект прозрачности, однако, когда переход завершается, фон становится черным, что указывает на то, что контроллер представления был удален из иерархии.

Теперь многие предложения сосредоточены на настройке модального окна в коде, однако все эти настройки доступны в раскадровке, и я предпочитаю оставлять такие вещи там. Как было предложено здесь, я установил мои контроллеры представления, как это, однако у меня все еще есть вышеуказанный эффект.

Вот моя установка раскадровки.

Представление настроек контроллера представления Представление настроек контроллера представления

Настройки перехода Настройки перехода

Настройки контроллера модального представления Настройки контроллера модального представления

Любая помощь приветствуется.


person Gerard Wilkinson    schedule 20.08.2015    source источник


Ответы (1)


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

затем вы можете играть с прозрачностью/цветом дочернего представления VC

Также может быть полезным руководство.

представление контроллера представления поверх текущего не сработает для вас, вам нужно будет добавить другой контроллер представления в качестве дочернего для текущего, а затем добавить его представление в качестве подпредставления к текущему представлению VC. затем, если вы очистите цвет фона для просмотра дочернего VC, он станет прозрачным и покажет вам предыдущий вид VC в фоновом режиме.

Редактировать: вы можете добиться того же эффекта с помощью контроллера представления здесь< /а>

person Usama    schedule 20.08.2015
comment
Привет, Усама, я собирался сделать это с представлением контейнера, и я знаю, что это возможно с этим. Однако то, что я прошу, возможно с использованием модальных представлений. Другие, подобные тому, на который я ссылаюсь в вопросе, показали, что этот метод работает. Но в моем случае почему-то нет. - person Gerard Wilkinson; 20.08.2015
comment
У меня есть смутное представление, что это можно сделать с помощью контроллеров презентаций, представленных в iOS8›, взгляните на них, это может быть полезно. я опубликую ссылку, если найду способ использовать контроллеры презентаций - person Usama; 20.08.2015
comment
я обновил свой ответ, предоставлен учебник, который показывает, как вы можете добиться того же эффекта с помощью контроллера презентации. Надеюсь, поможет - person Usama; 20.08.2015
comment
Спасибо Усама. Я уже видел это как вариант, однако методы раскадровки также должны работать в соответствии с документацией Apple. Написание пользовательских делегатов перехода кажется немного чрезмерным для этого простого эффекта, но я сделал это сейчас, и это работает хорошо. Спасибо за вашу помощь. - person Gerard Wilkinson; 15.09.2015
comment
Первая ссылка в ответе мертва (Извините, эта страница не найдена.). - person Pang; 04.06.2016