objective-c - whose view is not in the window hierarchy! IOS

 张珮娟7063 发布于 2022-10-25 11:30

1.现在遇到的问题是这样子: 工程里有 A B C 三个页面。
A present B页面,B push 到C 页面。
C 页面里有一个UIwebView ,加载了H5页面, H5页面有个按钮调用手机的相册 UIImagePickerController,弹出了拍照,相册选择的UIActionSheet, 然后我点击相册按钮,程序直接退出到了 A 页面。

2.我尝试用A push 到B 页面,B页面push 到C 页面,这样子的话,在点击相册后会到系统相册里面,选择图片后会返回到H5页面里。

3.我现在需要的是present 也能实现而不是用push。 我认为是根控制器的原因。因为C 这个页面是H5去实现的,所以我能做什么?


我尝试了以下方案,

发现只要有present ,就是出现问题,而且提示问题就出现在present 那里

4 个回答
  • 解决办法
    http://www.skyfox.org/present...

    2022-10-26 23:28 回答
  • 这个写个解决办法,但不知道有没有问题。目前我这样子解决的。
    我猜测是根控制器的问题。然后现在就是改根控制器

    就是修改window.rootviewcontroller ,在present C 那里跳转改为更改window.rootviewcontroller
    C 返回的时候再更改 window.rootviewcontroller 改回去。

    2022-10-26 23:28 回答
  • 这个要正确实现的话,A present B 页面应该 present 的不是 B,而是以 B 为 root 的 navigationController。

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:BController];
    [self presentViewController:navigationController animated:YES completion:nil];
    2022-10-26 23:28 回答
  • 有一个方案可以试试:把 B、C 放到一个 UINavigationController 中管理,用 A 去 Present 这个 UINavigationController。

    2022-10-26 23:29 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有