0

在我的应用程序中,我为image. 我想补充UIProgressView一下,因为完成编辑大约需要几秒钟。如何UIProgressView为这种方法添加一个并更新它完成的百分比?我已经经历了很多例子,UIProgressView但它们是用于Http请求和加载网络数据的。如何为自定义方法实现它?

4

3 回答 3

2

我想您需要为此使用操作队列。

[NSThread detachNewThreadSelector:@selector(showProgressView:) toTarget:self withObject:nil];

这对我有用,我希望它也对你有用。祝你编码愉快。!!

于 2013-03-05T04:14:53.953 回答
1

如果您可以控制完成的编辑量,就像任何委托事件一样,您可以像网络调用或其他一样更新进度。即使您没有此类事件,您也可能有一些内部方法,它们可以为您提供所发生的总进度的增量。

然后你可以有一个方法来接受这个增量,将它添加到现有的进度中。

- (void)updateProgress:(CGFloat)delta
{
    [self.progressView setProgress:self.progressView.progress+delta];
    self.progressLabel.text = [NSString stringWithFormat:@"Completed : %.0f",self.progressView.progress*100];
}
于 2013-03-04T12:57:57.057 回答
0

在不知道您可以使用哪些数据的情况下很难回答这个问题,但从本质上讲,您需要有一个方法可以以一致的周期性时间间隔调用,直到应用图像过滤器。这样做的一个技巧是,如果您可以为过滤器提出一个时间估计值,然后只需使用 NSTimer 来触发一个方法,直到该时间完成。虽然如果你能弄清楚它过滤的确切时间,那显然是更可取的。

从那里您需要将进度视图的进度设置为该时间超过总时间,就像这样......

self.progressView.progress = (float) progress

请记住,尽管进度视图是一个百分比,所以您需要存储两个值来比较(彼此相除)1)总时间量 2)经过的总时间量。您可以通过在用户@interface 中设置浮动进度来做到这一点。

于 2013-03-05T06:47:51.057 回答