У меня есть uiView, покрывающий экран ярлыком и идентификатором, который запускается, когда я делаю сетевой вызов.UIView с uiindicator sethidden = Нет работы после sethidden = YES
Теперь вот в чем проблема. Я инициализирована как это в viewdidload
[self.UiIndicator_view setHidden:YES];
[self.UiIndicator_label setHidden:YES];
[self.UiIndicator_indicator setHidden:YES];
На сетевом вызове я назвал
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^
{
[self ShowIndicator:@"Syncing Data"];
if([self CheckNetwork])
[HttpMethods GetHeaderDataForAppHttp];
dispatch_async(dispatch_get_main_queue(),^
{
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Network Error"
message:@"You have no network connection. Please connect to a network to sync data."
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
[self StopIndicator];
});
});
и методы являются
-(void)ShowIndicator:(NSString*)labelText
{
[self.UiIndicator_view setHidden:NO];
[self.UiIndicator_label setHidden:NO];
[self.UiIndicator_label setText:labelText];
[self.UiIndicator_indicator setHidden:NO];
[self.UiIndicator_indicator startAnimating];
}
-(void)StopIndicator
{
[self.UiIndicator_view setHidden:YES];
[self.UiIndicator_label setHidden:YES];
[self.UiIndicator_indicator setHidden:YES];
[self.UiIndicator_indicator stopAnimating];
}
Теперь проблема. Код запускается отлично, когда я запускаю приложение в первый раз. Вызов переходит на dispatch_asyn, я вижу UIView с меткой и индикатором, и после того, как вызов возвращается в основной поток, uiview и индикатор исчезают, и я получаю предупреждение, если данные не были получены.
Я дал пользователю возможность вручную вызвать ту же функцию, если данные не могли быть получены с первой попытки. Здесь возникает проблема, я могу видеть в NSLOG, что метод был вызван, HTTP-запрос запущен, но я не вижу uiview с индикатором, даже элементы и кнопки, которые должны быть за uiview, не доступны для кликов (это означает, что что есть UIVIEW сверху, но я не вижу его). через некоторое время я получаю uialeart, что означает, что звонок завершен.
Устанавливает ли uiview скрытый = да аннулирует его или что-то в этом роде? я не могу получить эту простую проблему.
@Infinty Джеймс: Спасибо человек. :) –