способ запустить индикатор активности по событию нажатия кнопки до того, как закончится ее касание? - PullRequest
2 голосов
/ 17 сентября 2011

Я работаю над загрузкой изображений через свое приложение. Я использовал следующий код

-(IBAction)submitimage:(id)sender
{
        // [activity startAnimating]; i started activity here but it starts after completion of function 
    NSString *name, *comments;
    comments = txtcomment.text;
    name = @"Anonymous";
    int r=random()%10000;
    NSLog(@"random number:%d",r );
    NSString *imageName=[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"dashboard\"; filename=\"%d.jpg\"\r\n",r];

    NSData *imageData = UIImageJPEGRepresentation(imge, 90);
        //NSLog(@"imagedata=%@",imageData);
    NSString *urlString =[NSString stringWithFormat:@"http://www.xyzsite.com/webservices/&comment=%@&name=%@",comments,name];



        //NSLog(@"urlsubmit=%@",urlString);
    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
    [request setURL:[NSURL URLWithString:urlString]];
    [request setHTTPMethod:@"POST"];
    NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"];

    /*  body of the post */
    NSMutableData *body = [NSMutableData data];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithString:imageName] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[NSData dataWithData:imageData]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [request setHTTPBody:body];
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
    NSLog(@"%@",returnString); 
}

, но анимация запускается после завершения функции, так что есть ли другой способ запустить индикатор активности..i я сталкиваюсь с той же проблемой в двух разных приложениях загрузки изображений. поэтому, если кто-то знает, пожалуйста, дайте мне знать, спасибо

1 Ответ

2 голосов
/ 17 сентября 2011

Может быть несколько решений.Однако вы можете переместить действие запуска анимации с указанием активности в событие TouchDown, а другое оставить в Touch up Inside.

...