【发布时间】:2014-03-03 11:11:06
【问题描述】:
我的问题是当我呈现 UIViewController 时,呈现的视图会变黑。
我有一个名为mainViewController 的UIViewController,它是我的窗口的根视图。
在里面我有一个MMDrawerController(刚刚添加为 mainViewController 视图的子视图)。
MMDrawerController 包含我的其余观点。
但是当我从我的mainViewController 中展示一个新的UIViewController 时,新的 VC 显示良好,但是当它关闭时,它只留下黑屏。
注意添加时出现黑屏(我可以直接看到)。解雇时不会。
出于测试目的,我做了这段代码:
UIViewController *vc = [UIViewController new];
vc.view.backgroundColor = [UIColor redColor];
[[[[UIApplication sharedApplication] keyWindow] rootViewController] presentViewController:vc animated:NO completion:^{
[vc dismissViewControllerAnimated:YES completion:nil];
}];
这与正常使用的黑色结果相同。 (通常是QLViewController...)
我的 mainViewController 是这样设置的:
_mainViewController = [MyMainViewController new];
_window.rootViewController = _mainViewController;
[self.window addSubview:_mainViewController.view];
Souce code of MMDrawerController 在我的项目中是最新的
【问题讨论】:
-
您要为哪个版本的 iOS 构建?您是否考虑过使用故事板而不是在代码中创建分配您的 rootViewController?
-
@AshleyMills 我为 iOS 6 和 7 构建,我没有尝试在 iOS6 上解决这个问题,它发生在 iOS7 上(我最关心的......)。我从不在所有应用程序中使用 IB(也不会使用,它不应该与解决方案有任何关系)。
-
我用你写的代码在一个新项目中进行了测试,但是 mainViewController 仍然是背景色
-
@simalone 问题不在于看起来不错的 mainViewController。它与 (
MMDrawerController) 中的其他 UIViewController 一起使用。当我展示我的新UIViewController时,我的前一个(已经在mainViewController 中)坏了,就像它的约束完全消失了一样。而且我不再在屏幕上看到它(但我猜它仍然是一个子视图)。 -
@AncAinu 所以问题可能在 MMDrawerController 实现代码中,你能列出主要代码吗?
标签: ios uiviewcontroller presentviewcontroller