0

每当单击按钮时显示进度指示器,然后在NSTask完成时停止并隐藏指示器,我遇到了一些问题。

这应该是时间线: 1- 按钮单击 2- 显示进度指示器(从最初的隐藏状态) 3- 激活进度指示器 4- 激活关联的 NSTask 5- 继续显示指示器直到 NSTask 完成 6- NSTask 完成后, 隐藏进度指示器。

我知道如何获得进度指示器来制作动画等。我只是不知道如何将这些与 NSTask 完成的事情结合起来。

我在这里先向您的帮助表示感谢!

4

2 回答 2

1

使用NSTask'sterminationHandler属性设置任务终止时要执行的块。在该块中停止/隐藏您的进度指示器。

附录(见评论)

粗略的概述:

NSTask *myTask = ...;
NSProgressIndicator *myIndicator = ...;

myTask.terminationHandler = ^(NSTask *theTask) { [myIndicator stopAnimation:nil]; };

请注意,NSTask如果需要从中访问信息,则传递处理程序。也nil作为senderto传递stopAnimation:- 您通常会传递self,但这会导致保留循环,并且实际调用该方法的对象并不重要。

于 2013-07-31T21:43:35.593 回答
1

您应该能够为NSTask's设置一个块terminationHandler

NSTask 终止处理程序

于 2013-07-31T21:46:32.557 回答