0

我是 iphone 新手。我正在做一个项目,当我点击登录屏幕中的提交按钮时,会出现一个登录屏幕,它会在一段时间后向服务器发送验证请求,它会给出响应,我正在显示该响应向用户发出警报视图。但实际问题是,当用户单击提交按钮时,我使用计时器放置一些活动指示器 1 秒,但响应在 5 秒内出现,因此活动指示器在 4 秒之前停止。那么,我该如何放置活动指示器,直到响应来自服务器端。如果有人知道这一点,请帮助我。

4

3 回答 3

1

您需要在请求未完成时显示您的“指标”

您的请求需要像这样异步:

-(void) performCheckServer // YOUR FUNCTION 
{

    // Construct your request
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:req delegate:self];
    [connection start];

    // show your indicator
}

 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
}

 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    //hide indicator
}

 - (void)connectionDidFinishLoading:(NSURLConnection *)connection {
//hide indicator
}

其他解决方案:使用 Progress HUD

并使用功能:

    [HUD showWhileExecuting:@selector(myProgressTask) onTarget:self withObject:nil animated:YES];
于 2012-05-15T14:41:14.617 回答
0

请参阅此处完成步骤 y 步骤教程

http://www.theappcodeblog.com/2011/03/09/activity-indicator-tutorial/

于 2012-05-15T14:37:40.543 回答
0

你在做什么使指标消失?你一定是打电话给:

[yourIndicatorView stopAnimating]

或者

[yourIndicatorView removeFromSuperview]

或者

yourIndicatorView.alpha = 0.f (<-- bad idea)

...或使活动指示器消失的东西。

您应该将该调用移动到指示请求已完成的 NSURLConnection 回调中。

于 2012-05-15T14:42:34.767 回答