gpt4 book ai didi

ios - 上传带有进度的异步图像

转载 作者:行者123 更新时间:2023-11-29 01:46:15 26 4
gpt4 key购买 nike

在我的应用程序中,我正在将图像上传到服务器。我正在使用这种方法 https://stackoverflow.com/a/22301164/1551588 .它工作正常,但我想在此方法中添加进度条。有可能的? sendAsynchronousRequest可以做什么?感谢您的回复。

最佳答案

在iOS中似乎无法获取进度值。

但是在 SO 上我发现了一个很好的解决方法,他基本上是在作弊,但在视觉上,他完成了工作。

您为自己填写一个进度指示器,并在最后确保它已满。

原始答案UIWebView with Progress Bar

改进后的代码:

#pragma mark - Progress View

Boolean finish = false;
NSTimer *myTimer;

-(void)startProgressView{
_progressView.hidden = false;
_progressView.progress = 0;
finish = false;
//0.01667 is roughly 1/60, so it will update at 60 FPS
myTimer = [NSTimer scheduledTimerWithTimeInterval:0.01667 target:self selector:@selector(timerCallback) userInfo:nil repeats:YES];
}
-(void)stopProgressView {
finish = true;
_progressView.hidden = true;
}

-(void)timerCallback {
if (finish) {
if (_progressView.progress >= 1) {
_progressView.hidden = true;
[myTimer invalidate];
}
else {
_progressView.progress += 0.1;
}
}
else {
_progressView.progress += 0.00125;
if (_progressView.progress >= 0.95) {
_progressView.progress = 0.95;
}
}
//NSLog(@"p %f",_progressView.progress);
}

这里是如何使用它:

首先调用(显然)你需要的地方

[self startProgressView];

然后在委托(delegate)中

#pragma mark - NSURLConnection Delegate Methods

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSLog(@"Loaded");
[self stopProgressView];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
NSLog(@"Error %@", [error description]);
[self stopProgressView];
}

```

关于ios - 上传带有进度的异步图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31902563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com