В методе viewDidload я использую MBProgressHUD
, чтобы показать индикатор активности, пока данные не будут загружены из сети, а затем, чтобы проверить, включено ли приложение GPS. на основании этого я предупреждаю пользователя, используя MBProgressHUD
.Сообщения об отображении MBProgressHUD один над другим
Мой код;
ViewDidLoad
hudForDownloadData = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view hudForDownloadData ];
hudForDownloadData .delegate = self;
hudForDownloadData .labelText = @"Loading";
hudForDownloadData .detailsLabelText = @"updating data";
[hudForDownloadData showWhileExecuting:@selector(downloadDataFromWebService) onTarget:self withObject:nil animated:YES];
[self downloadDataFromWebService]; // This method is called, and then data is downloaded from the webservice, once the data is downloaded i will remove the `MBProgressHUD ` alert
Теперь я проверить, если приложение открывает доступ к GPS, и предупреждает пользователя, если нет.
hudForGPS = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
hudForGPS .delegate = self;
hudForGPS .labelText = @"Loading";
hudForGPS .detailsLabelText = @"updating data";
[hudForGPS showWhileExecuting:@selector(checkIfApplicationEnabledGPS)
onTarget:self withObject:nil animated:YES]; // This will only take a
maximum of 2-3 seconds. and i will remove it after that
Проблема в том, что; когда интернет/wifi не работает, hudForDownloadData
будет постоянно анимировать (отображать идентификатор активности). Тем временем также будет выполняться hudForGPS
. Но он будет отображаться ниже hudForDownloadData
. Таким образом, пользователь не сможет его увидеть.
Что я хочу сделать, это выполнить команду checkIfApplicationEnabledGPS
первым, и ждать, пока его предупреждения заканчивается (это займет всего 2-3 секунды), а затем загрузить выполните downloadDataFromWebService
, где, если Интернет/WiFi не доступна она будет показывать навсегда.
Как я могу сделать это программно?
Мне нужно использовать индивидуальные предупреждения в обоих экземплярах (MBProgressHUD) – Illep
В этом случае также не было бы проблем, вы могли бы создать собственное оповещение и могли бы обрабатывать свои собственные кнопки IBactions. –
hudWasHidden. Используете ли вы этот делегат MBProgressHUD, когда checkIfApplicationEnabledGPS закончен ? –