WKWebView выскакивает родительский UIViewController при использовании камеры HTML5 - PullRequest
0 голосов
/ 01 мая 2019

У меня довольно сложная структура приложения с большим количеством вложенных UIViewControllers.В одном из моих конечных контроллеров я добавляю WKWebView, а внутри WebView я использую камеру html5:

<input type="file" accept="video/*" capture="camera" id="recorder">
<video id="player" controls></video>
<script>
  var recorder = document.getElementById('recorder');
  var player = document.getElementById('player');

  recorder.addEventListener('change', function(e) {
    var file = e.target.files[0];
    // Do something with the video file.
    player.src = URL.createObjectURL(file);
  });
</script>

Когда я нажимаю кнопку для записи,камера открывает полный экран, как и ожидалось, но если я нажму «Отмена» или «использую видео», чтобы закрыть камеру, родительский элемент UIViewController (тот, который создал WKWebView, освобождается.

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

Что-то происходит после того, как камера отключается, что заставляет контроллер представленияполучить представление. Любая идея о том, как я смогу отследить это?

...