У меня довольно сложная структура приложения с большим количеством вложенных 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это потому, что я создал для этого убедительную ссылку в другом месте. Экземпляр остался в памяти, но все равно был удален из иерархии представлений.
Что-то происходит после того, как камера отключается, что заставляет контроллер представленияполучить представление. Любая идея о том, как я смогу отследить это?