我的应用程序结构非常复杂,其中包含许多嵌套的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
(创建{{ 1}}被释放。
这不是ARC杀死它,因为我在其他地方创建了对此的强烈引用来验证这一点。该实例保留在内存中,但仍从视图层次结构中删除。
关闭相机后发生某些事情,这会导致视图控制器弹出。关于如何找到此消息的任何想法吗?