- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Storyboard中有一个 UITabBarController,它有一个导航 Controller 作为选项卡栏项目之一。当我尝试在我的导航 Controller 的 Root View Controller 上执行 [self presentViewController:myVC animated:YES completion:NULL]
时,应用程序停止响应并且我在控制台上收到以下错误/警告
2015-10-16 18:21:40.175 My_App[1224:488753] Presenting view controllers on detached view controllers is discouraged <MyViewController: 0x16512b00>.
只有当应用程序是使用 Xcode-7.0.1 构建并在 iOS-9 上运行时,我才会遇到此问题。它在使用 Xcode-7.0.1 的 iOS-8 上完美运行,甚至在使用 Xcode 6.4 构建时在 iOS-9 上运行。
编辑:
这是我的 View Controller 层次结构,就在我从 myRootViewController
显示 myVC
之前。
(lldb) po [UIViewController _printHierarchy]
<LibraryTabBarController 0x7f91935e9660>, state: appeared, view: <UILayoutContainerView 0x7f9195841420>
| <UINavigationController 0x7fe46b863200>, state: appeared, view: <UILayoutContainerView 0x7fe46b54c6a0>
| | <MyRootViewController 0x7fe46b47aa40>, state: appeared, view: <UIView 0x7fe46b66f8a0>
| <MyOtherViewController 0x7f919580fd80>, state: disappeared, view: (view not loaded)
最佳答案
错误消息表明您正在呈现的 View Controller (还)不在 View Controller 层次结构中。也许您已经实例化了 self
引用的 View Controller ,但尚未将其添加到选项卡栏的 View Controller 集合中。也许您正在尝试在 prepareForSegue
中执行此操作。也许您为 subview Controller 执行了 addSubview
,但忽略了执行必要的 View Controller 包含调用(例如 addChildViewController
)。这可能是很多问题。在我们担心它如何呈现其他 View Controller 之前,我建议您稍微描述一下 self
本身是如何呈现的。
如果您认为 self
已经在 View Controller 层次结构中,我建议我们确认一下。从 Xcode 运行应用程序,在您点击显示 VC
的这行代码之前,按下调试器的暂停按钮:
在 (lldb)
提示符下,输入:
po [UIViewController _printHierarchy]
或者,如果您在 Swift 框架中暂停,您可以输入:
expr -l objc++ -O -- [UIViewController _printHierarchy]
你应该看到这样的东西:
(lldb) po [UIViewController _printHierarchy]
<UITabBarController 0x7fcae1c19740>, state: appeared, view: <UILayoutContainerView 0x7fcae1c26730>
| <UINavigationController 0x7fcae3012c00>, state: appeared, view: <UILayoutContainerView 0x7fcae1d10b90>
| | <MyApp.ViewController 0x7fcae1c19cd0>, state: appeared, view: <UIView 0x7fcae1c2c470>
| <SecondViewController 0x7fcae1e1b860>, state: disappeared, view: (view not loaded)
确认您的问题中引用的任何 View Controller self
都出现在该 View Controller 层次结构中。如果是这样,请向我们展示您的 View Controller 层次结构以及self
是哪一个。
关于ios - Xcode-7.0.1 : Presenting view controllers on detached view controllers is discouraged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33171566/
我在 Eclipse 的编译器设置中注意到了这个设置。这与“禁止引用”有何不同? 最佳答案 来自对 how to open the find type dialog programmatically
我正在阅读 Scott Meyers 的 Effective C++(第三版),并在 第 32 项:确保公共(public)继承是页面上的“is-a” 中的一段中151 他发表评论(我用粗体表示):
我在以下站点学习了“Object Pascal Style Guide”。 http://edn.embarcadero.com/article/10280 我无法理解下面这句话。 “Delphi 是
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 6 年前。 Improv
Apple 的 documentation说: In iOS, POSIX networking is discouraged because it does not activate the cel
我有一个导航 Controller 和 Root View 。然后在该 Root View 中,我将一个 View 推到那里,我必须单击才能观看内容,如果已登录,如果未登录,它将使用以下代码打开一个模
我的情况与我在这里找到的所有其他示例都不一样。我有一个基于选项卡的应用程序。在其中一个选项卡上,用户可以按下按钮,一次性从网络服务器下载多个文件。 我使用 NSOperation 来执行这些下载中的每
在我的应用中,我使用了导航 Controller 。稍后在某些 View 中,我使用 presentViewController 来显示缩放图像。我也没有使用 Storyboard 或 Nib 。 我
我知道“不鼓励访问”的含义:您正在使用内部库,这些东西不在公共(public) API 中,而您根本不应该使用它。 现在,据我所知,“org.eclipse.osgi.util”包中的 Eclipse
我知道“不鼓励的访问”应该是什么意思:您正在使用内部库,那些不在公共(public) API 中的东西,您根本不应该使用它。 现在,据我所知,包“org.eclipse.osgi.util”中的类 E
我一直收到与我使用 iAd 的 GKTurnBasedMatchmakerViewController 和 BannerViewController 有关的警告。该警告是: Presenting vi
经过 git pull origin master我收到以下消息: warning: Pulling without specifying how to reconcile divergent bra
首先,我知道有几十个问题和我的错误信息一样。但是,我的问题的上下文完全不同,所以我无法用以前的 StackOverflow 问题解决它。 我创建了一个自定义 Segue,昨天一切正常。今天,我进一步修
当我尝试通过打开 id = rg.eclipse.ui.internal.browser.WebBrowserView.WEB_BROWSER_VIEW_ID 的 IViewPart 以编程方式在 E
我在 Storyboard中有一个 UITabBarController,它有一个导航 Controller 作为选项卡栏项目之一。当我尝试在我的导航 Controller 的 Root View C
我在任何地方都找不到很多关于此警告的引用资料。我有两个提供下拉刷新控制的 View Controller 。一个还好。另一个产生上面的警告。我将代码从一个复制到另一个。 代码如下(PFUser指Par
这是代码 let storyBoard = UIStoryboard(name: "Main", bundle: nil) let vc = storyBoard.instantiateViewCon
我是一名优秀的程序员,十分优秀!