我正在通过我的应用程序上传图像。我使用了以下代码
-(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);
}
但是动画在功能结束后开始,所以有任何其他方式来启动活动指示器。在触摸事件over.i之前,在两个不同的上传图像应用程序中遇到同样的问题。如果有人知道那么请告诉我 感谢
答案 0 :(得分:2)
这可能有多个解决方案。但是,您可以将活动指示开始动画操作移动到TouchDown事件,并将另一个保留在Touch up Inside中。