2013-05-06 2 views
0

Я пытаюсь вызвать индикатор сети, а затем уволить его после этого кода, как вы можете видеть ниже, но он не отображается в строке состояния. Что я делаю не так? Я думал, что сетевая активность быстро заканчивается, но даже со сном она, похоже, не работает.Работает ли networkActivityIndicatorVisible в applicationDidBecomeActive?

-(void)applicationDidBecomeActive:(UIApplication *)application { 

UIImageView *loadingImage = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 
loadingImage.image = [UIImage imageNamed:@"loading-splash.png"]; 
loadingImage.contentMode = UIViewContentModeCenter; 
[self.window addSubview:loadingImage]; 


[UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 
NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: @"http://mysite.tk/in-app/net.test" ]]; 
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding]; 
NSLog(@"%@", serverOutput); 
sleep(1); 
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 

    if([serverOutput isEqualToString:@"internet is working"]) 
    { 
     [SVStatusHUD showWithImage:[UIImage imageNamed:@"connected.png"] status:@"Connected"]; 


    } else { 

     UIAlertView *alertsuccess = [[UIAlertView alloc] initWithTitle:@"Connection Unsuccesful" message:@"App Requests has failed connecting to the server. Some or all of App Requests functions may not work. Please check your internet connection." 
                   delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
     [alertsuccess show]; 
     [alertsuccess release]; 

      } 

[loadingImage release]; 
} 

Кроме того, если кто-то хочет быть достаточно любезен, чтобы сказать мне, как отклонить вид изображения, а также чувствовать себя свободным, но я собирался Google это. Im noob пытается учиться на уроках и тому подобных.

ответ

0

Вам нужно показать и скрыть индикатор в отдельной теме, используя что-то вроде этого.

dispatch_async(dispatch_get_main_queue(), ^{ 
    // Put any code you want to execute in the main thread here. 
}); 
Смежные вопросы