我的视图层次结构如下:
- (根) PRSBaseViewController - UIViewController子类 - 有子视图控制器
- (呈现) PRSModalWebViewController - UINavigationController子类
- (不带动画推送) PRSWebViewController - UIViewController子类 - WKWebView是其子视图。
- (呈现) PRSModalWebViewController - UINavigationController子类
当我尝试在WebView上长按链接时,会出现以下错误:
警告:试图将<WKActionSheet: 0x127520d10>显示在未在窗口层次结构中的<PRSBaseViewController: 0x1275117f0>上!
不要使用presentViewController:animated:completion
呈现导航,而是使用addChildViewController:
添加到视图控制器层次结构。这样做我就没有错误了,这很奇怪。
有人知道是什么原因导致了视图层次结构问题吗?
更新: 我创建了一个Gist文件包含了我所有的类
RootViewController
到底是什么?你说你已经放了一份你的类的代码片段,但在其中没有RootViewController
。你能展示一下RootViewController
如何进入视图层级结构,并且如何获取它的WKWebView
子视图吗?(在nib中无法获取到它,因为对象库中没有WKWebView
;你必须通过代码实现这一切。) - matt[view.window rootViewController]
上呈现WKActionSheet
(来源)。但是,如果根视图控制器已经在呈现某些内容,则这是错误的。 - Lily Ballard