iphone - UIActivityIndi​​catorView 无法在 iPhone 应用程序中停止

标签 iphone uiactivityindicatorview

我正在 iPhone 应用程序中使用 UIActivityIndi​​catorView 但它没有停止 它的动画不停歇。我正在使用 self uploadMethod 将数据上传到服务器

查看是否加载方法

    - (void)viewDidLoad {


    self.navigationController.navigationBarHidden=YES;



   CereniaAppDelegate *appDelegate = (CereniaAppDelegate *)[[UIApplication sharedApplication] delegate];

   activityImageView.hidden=YES;
       activityView.hidden=YES;
   int mytestcount=appDelegate.rowCount;

   NSString*test=[NSString stringWithFormat:@"%d",mytestcount];

  if ([test isEqualToString:@"0"]) {


    NSLog(@" No dta ot upload %d",mytestcount);

  }

 else {

    [NSThread detachNewThreadSelector:@selector(startActivity:) toTarget:self withObject:nil];

       [self uploadData];

    }

  [super viewDidLoad];




[self stopData];    

}

动画停止方法

    -(void)stopData{


[activityView stopAnimating];
activityView.hidden=YES;

activityImageView.hidden=YES;


   }

启动动画方法

    -(void)startActivity:(id)sender
   {

    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];



    activityImageView.hidden=NO;
    activityView.hidden=NO;

   [activityView startAnimating];
   [pool release];

  }

上传数据方法

   -(void)uploadData{

CereniaAppDelegate *appDelegate = (CereniaAppDelegate *)[[UIApplication sharedApplication] delegate];

for (int i=0; i<appDelegate.coffeeArray.count; i++) {




    Coffee*coffeeObj=[appDelegate.coffeeArray objectAtIndex:i];



    int mynumber=coffeeObj.participant_Id;
    NSString*question_id=coffeeObj.question_Id;
    NSString*answer_text=coffeeObj.answer_text;
    NSString*answer_option=coffeeObj.answer_option;

    NSString *post =[[NSString alloc] initWithFormat:@"participant_id=%d&question_id=%@&answer_text=%@&answer_option=%@",mynumber,question_id,answer_text,answer_option];




    NSLog(post);
    NSURL *url=[NSURL URLWithString:@"http://celeritas-solutions.com/emrapp/SyncSurveyTest.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);


     }
    }

最佳答案

您需要为事件指示器启用 hidesWhenStopped 属性

关于iphone - UIActivityIndi​​catorView 无法在 iPhone 应用程序中停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12296990/

相关文章:

iphone - 缓存的 UITableView 元素

ios - 当键盘处于事件状态时居中 UIActivityIndi​​cator

iOS 6 - 当识别手势并且 UIActivityIndi​​cator 不显示时,我的应用程序出现滞后。我需要做什么?

iphone - 将 UIActivityIndi​​cator 添加到模态视图(ELCimagepicker)

swift - Sprite Kit UIActivityIndi​​cator 不会停止动画

释放包含滚动 UITableView 的 View Controller 时,iPhone 应用程序崩溃

iphone - 渲染到纹理或离屏帧缓冲区

iphone - 当用户选择不购买 iOS InApp Purchase 中的项目时,如何自定义错误处理?

ios - 根据 Text 动态获取 UILabel 的高度返回不同的 iOS 7.0 和 iOS 6.1 值

ios - 无法在 API 调用结束时隐藏事件指示器