问题描述
- 上传数据时显示activity指示符
-
在上传数据到服务器时,我想点击上传按钮后,activity指示符可以开始,上传结束后在结束。下面的代码是上传数据的,但是activity指示符不对。
-(IBAction)startSyncButtonAction{ [self startActivity]; CereniaAppDelegate *appDelegate = (CereniaAppDelegate *)[[UIApplication sharedApplication] delegate]; for (int i=0; i<[appDelegate.coffeeArray count]; i++) { Coffee *coffeeObj = [appDelegate.coffeeArray objectAtIndex:i]; int mycount=[appDelegate.coffeeArray count]; NSLog(@"My Array count is %d",mycount); NSString*device_Id=coffeeObj.device_Id; NSString*R1=coffeeObj.R1; NSString*R2=coffeeObj.R2; NSString*R3=coffeeObj.R3; NSString*R4=coffeeObj.R4; NSString*R5=coffeeObj.R5; NSString*R6=coffeeObj.R6; NSString*R7=coffeeObj.R7; NSString*R8=coffeeObj.R8; NSString*R9=coffeeObj.R9; NSString*R10=coffeeObj.R10; NSString*R11=coffeeObj.R11; NSString*R12=coffeeObj.R12; NSString*R13=coffeeObj.R13; NSString*R14=coffeeObj.R14; NSString*update_date_time=coffeeObj.update_date_time; NSString*teritory1=coffeeObj.teritory; int mycount1=[appDelegate.coffeeArray count]; NSLog(@"My Array After delete is %d",mycount1); NSLog(@"device_Id%@",device_Id); NSLog(@"R1%@",R1); NSLog(@"R2%@",R2); NSLog(@"R3%@",R3); NSLog(@"R4%@",R4); NSLog(@"R4%@",R5); NSLog(@"R4%@",R6); NSLog(@"R4%@",R7); NSLog(@"R4%@",R8); NSLog(@"R4%@",R9); NSLog(@"R4%@",R10); NSLog(@"R4%@",R11); NSLog(@"R4%@",R12); NSLog(@"R4%@",R13); NSLog(@"R4%@",R14); NSLog(@"update_date_time%@",update_date_time); NSString *post =[[NSString alloc] initWithFormat:@"device_Id=%@&R1=%@&R2=%@&R3=%@&R4=%@&R5=%@&R6=%@&R7=%@&R8=%@&R9=%@&R10=%@&R11=%@&R12=%@&R13=%@&R14=%@&update_date_time=%@&teritory1=%@",device_Id,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,update_date_time,teritory1]; NSLog(post); NSURL *url=[NSURL URLWithString:@"http://celeritas-solutions.com/pah_brd_v1/pfizersurvey/SyncSurveySTD.php"]; NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ; [request setURL:url]; [request setHTTPMethod:@"POST"]; [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; [request setHTTPBody:postData]; NSError *error; NSURLResponse *response; NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding]; NSLog(@"%@",data); } for (int i=0; i<[appDelegate.coffeeArray count]; i++) { Coffee *coffeeObj = [appDelegate.coffeeArray objectAtIndex:i]; [appDelegate removeCoffee:coffeeObj]; } } -(void)startActivity:(id)sender { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; activityImageView.hidden=NO; activityView.hidden=NO; [activityView startAnimating]; [pool release]; }
解决方案
试试下面的例子,根据情况可以自行修改:
alert= [[UIAlertView alloc] initWithTitle:@"LoadingnPlease Wait..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil];
[alert show];
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
indicator.center = CGPointMake(150, 100);
[indicator startAnimating];
[alert addSubview:indicator];
如果要解除指示符,用这行:
[alert dismissWithClickedButtonIndex:0 animated:YES];
时间: 2025-01-03 07:52:34