在我的应用程序中,我从服务器下载HTML文件,检查网站上当前是否有图像,并在找到图像时将状态设置为标签。一切都很好,但我喜欢 在应用程序下载文件时向用户显示正在加载状态标签。它适用于静态文本,但如何在加载文本后显示运行点?我喜欢看:加载>加载。 >正在加载..>正在加载...>正在加载>等等(我不需要确切的进度条)
代码:
- (void)viewDidLoad
{
[super viewDidLoad];
platzStatusLabel.text = @"Loading";
if (myConnection == nil) {
myData = [NSMutableData new];
NSString *urlString = [NSString stringWithFormat:@"http://www.myURL.com"];
myConnection =[NSURLConnection connectionWithRequest:
[NSURLRequest requestWithURL:
[NSURL URLWithString:urlString]]
delegate:self];
}
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *stringToLookup = [[NSString alloc]initWithData:myData encoding:NSASCIIStringEncoding];
if ([stringToLookup rangeOfString:@"image_green"].location != NSNotFound){
platzStatusLabel.text = @"Course is open.";
} else {
platzStatusLabel.text = @"Course is closed.";
}
[self initializeVariablesAgain];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[myData appendData:data];
}
- (void) initializeVariablesAgain {
myData = nil;
myConnection = nil;
}
答案 0 :(得分:1)
为什么不在创建请求时启动UIActivityIndicator(这个突出显示的东西)并在didFinishLoading中停止它? 或者以相同的方式启动和停止以几个字符串迭代的NSTimer。 最后,您可以在didReceiveData中迭代不同的字符串。 干杯
答案 1 :(得分:0)
在
中更新您的计数器(文件大小已下载更新)- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
例如
[myData appendData:data];
self.myCountInBytesOfDownloadProgress = [myData length];