【发布时间】:2015-01-04 16:38:43
【问题描述】:
我的视图层次结构如下所示:
- (root) PRSBaseViewController - UIViewController 子类 - 有子 viewControllers
- (已提交)PRSModalWebViewController - UINavigationController 子类
- (推送,动画:否)PRSWebViewController - UIViewController 子类 - WKWebView 是子视图。
- (已提交)PRSModalWebViewController - UINavigationController 子类
当我尝试长按 WebView 中的链接时,出现错误:
Warning: Attempt to present <WKActionSheet: 0x127520d10> on <PRSBaseViewController: 0x1275117f0> whose view is not in the window hierarchy!
不是使用presentViewController:animated:completion 呈现导航,而是使用addChildViewController: 舞蹈将视图控制器添加到层次结构中。我没有收到任何错误,这很奇怪。
有谁知道导致视图层次结构问题的原因是什么?
更新:我做了一个Gist of all my classes
【问题讨论】:
-
@matt 我不是要压制共享表,而是违背我的意愿压制它们。我不想要并且正在得到的行为是他问题的答案。
-
就是这样,这是苹果的私人课程。我在开发者论坛上发布了我的问题以获得良好的衡量标准。感谢您对它的破解。
-
哦,我明白了!对于那个很抱歉。所以这是苹果公司为了回应长按而提出的。我很抱歉让你教育我,但我很高兴你这样做了!
-
出现此错误是因为 WebKit 错误地尝试在
[view.window rootViewController](source) 上呈现WKActionSheet。但是如果根视图控制器已经在呈现某些东西,那么这是错误的。
标签: ios objective-c presentviewcontroller wkwebview