view controllers is discouraged

_snake 2014-09-02 05:51:51
我在window的rootViewController 是用的login页面

然后login presentViewController 到了 主页面

主页面是用的DDmenu 初始化一个 RootViewController main主页面

和一个左边页面

main主页面是UITabBarController 4个NavigationController

我在其中一个NavigationController里 presentViewController 到另一个ViewController的时候

出现警告 Presenting view controllers on detached view controllers is discouraged

感觉结构层次没有问题啊。是什么情况呢

有人可以给讲解下为什么吗

如果没有好的解决办法,那请问一下这个警告对整个程序有什么影响呢。

百度了很多 一直没有合适的答案。
...全文
1728 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
JiabaoShen 2015-01-14
  • 打赏
  • 举报
回复
viewController被提前入栈了,要拿到当前的viewController,解决方法:AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate; JKBLoginVC *loginVC = [[JKBLoginVC alloc] init]; [delegate.window.rootViewController presentViewController:loginVC animated:YES completion:^{ [loginVC release]; }];
mayfly1221 2014-12-10
  • 打赏
  • 举报
回复
问,楼主怎么解决的,我也是tableBar ,present的守候报警告,怎么将nav入栈
ReyZhang 2014-09-10
  • 打赏
  • 举报
回复
引用 2 楼 u013250412 的回复:
谢谢 在tabbar里用presentViewController 会出现这个警告 用nav入栈就没问题了
如果已解决,请结帖
_snake 2014-09-05
  • 打赏
  • 举报
回复
谢谢 在tabbar里用presentViewController 会出现这个警告 用nav入栈就没问题了
ReyZhang 2014-09-03
  • 打赏
  • 举报
回复
层次上有问题。present出来的模态窗口,禁止再使用present 来弹出其它的子窗口 解决方法: 初始时window.rootViewController为login页面这个没有问题。但到主页面main的时候不要用present的方式来跳转视图。在login页面,登录成功后显示主页面的办法是:你可以重置window.rootViewController,将主页面main作为window.rootViewController。这样在tabbar中的navigationcontroller 中使用present来展示视图时就不会报错了

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧