MBProgressHUD加在self.navigationController.view出现的诡异问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

MBProgressHUD加在self.navigationController.view出现的诡异问题

2016-07-19 16:13:50 2349 1

在一台联通3G iPhone4s越狱手机上发现HUD有些情况不显示.我自己的移动越狱手机是好的.
系统都是5.1.1
添加HUD目的是在用户点发送时屏蔽全屏不让点击, 用法如下:
在viewDidLoad中初始化

self.HUD = [[MBProgressHUD alloc] initWithFrame:CGRectMake(0, -420+44, 320, 1000)];//挡住键盘下的绑定范围不让点击

self.HUD.labelText = @"正在加载";
[self.navigationController.view addSubview:self.HUD];
[self.navigationController.view bringSubviewToFront:self.HUD];

//这里打印self.navigationController和self.navigationController.view是必然有值的!
之后用户可以有拍照操作

UIImagePickerController *imagePicker =[[UIImagePickerController alloc] init];

    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.delegate = self;
    [self presentModalViewController:imagePicker animated:YES];

拍照完后竟然发现有时候self.navigationController.view是nil, 导致HUD.superview=nil.
表示非常不解! 本来想用gdb跟踪HUD.superview, 结果说没这个属性..
莫非是打开相机或者在内存警告时系统对navigationController做了些什么事?

我改成加在window上免倒是没重现问题,但是总感觉影响全局. 大家的全屏蒙板一般都加载window上么?
多谢

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:58:30

    navigationController是继承自UIViewController的.
    打开相机之前的页面会收到内存警告而又被相机挡住,所以navigationController应该会调用viewDidUnload释放navigationController.view, 所以我的HUD.superview就为nil了.
    做法要么就加到window上,要么就每次显示前都用navigationController.view addSubview

    0 0
相关问答

1

回答

kube-controller-manager 的作用是什么?

2022-07-05 17:29:45 285浏览量 回答数 1

1

回答

【OSS】使用submit命令提交任务出现“InvocationTargetException”报错

2022-01-19 14:36:27 445浏览量 回答数 1

1

回答

DStream transformation操作中的filter和union的作用分别是什么?

2021-12-12 15:00:06 93浏览量 回答数 1

1

回答

Transformations 算子中的map的作用是什么?

2021-12-06 22:00:43 326浏览量 回答数 1

1

回答

Linux sed akw grep命令中 ! command 的作用是什么?

2021-12-03 19:47:42 217浏览量 回答数 1

1

回答

Nginx中的gzip_static的作用是什么?

2021-12-02 15:50:27 237浏览量 回答数 1

0

回答

Forrester 首个企业级公共云容器平台报告中,位列StrongPerformer中国第一的是?

2021-11-25 21:35:49 172浏览量 回答数 0

2

回答

web 点播 SDK同层播放时,点播列表向上滑动时,view 层不是固定的,会随着屏幕向 上滑动覆盖

2021-10-15 18:06:04 7745浏览量 回答数 2

1

回答

0.20.0.1-4597ce2-aliyun版本的ingress-Controller无法pull,报 Not Found

2018-12-28 17:09:39 1942浏览量 回答数 1

1

回答

iOS上如何用UINavigationController管理WebView中的页面跳转

2016-07-19 17:07:35 1912浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载