在一臺聯通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, 結果說沒這個屬性..我改成加在window上免倒是沒重現問題,但是總感覺影響全局. 大家的全屏蒙板一般都加載window上么?多謝
1 回答

拉風的咖菲貓
TA貢獻1995條經驗 獲得超2個贊
navigationController是繼承自UIViewController的.
打開相機之前的頁面會收到內存警告而又被相機擋住,所以navigationController應該會調用viewDidUnload釋放navigationController.view, 所以我的HUD.superview就為nil了.
做法要么就加到window上,要么就每次顯示前都用navigationController.view addSubview
- 1 回答
- 0 關注
- 150 瀏覽
添加回答
舉報
0/150
提交
取消