iOS - Представить / показать ViewController, а содержимое под ним остается интерактивным - PullRequest
0 голосов
/ 21 октября 2019

Я хотел бы представить / показать ViewController (назовем его ViewController2 ), который каким-то образом скрыт (или имеет размер 0), и через некоторое время он будет изменен доопределенный размер (или полноэкранный режим), в то же время сохраняя содержимое ViewController (назовем его ViewController1 ), представляя / отображая его в интерактивном режиме.

ViewControllers flow


Просто, чтобы дать больше контекста по , почему Я хочу это сделать.

Я пытаюсь загрузить WKWebView в фоновом режиме и, в идеале, хотел бы представить ViewController только , когда веб-просмотр полностью загружен. К сожалению, iOS, кажется, "приостанавливает" оценку JavaScript и ее таймеры после очень короткого времени , когда веб-просмотр не представляется пользователю .

Я могу подтвердить, что код, такой как setTimeout, перестает работать, когда веб-просмотр подключен к ViewController, который не представлен пользователю и возобновляет работу, когда этот контроллер представлен / показан.

Моя идея заключается в том, чтобы представить контроллер сразу, но каким-то образом скрытым (при сохранении интерактивности приложения), и при получении правильного сигнала из веб-просмотра я бы показал / изменил его размер для пользователя.

1 Ответ

0 голосов
/ 21 октября 2019

Если вы делаете это с помощью Xcode 11., тогда представьте свой контроллер вида модально.

 let changevc = UIViewController() // change this code as this is  your view controller with edit button
 changeVC.modalPresentationStyle = .automatic // .popover
 self.present(changeVC, animated: true, completion: nil

Вы можете попробовать различные типы модалов с этого сайта и использовать те, которые вам больше нравятся. https://developer.apple.com/documentation/uikit/uimodalpresentationstyle

...