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

这应该是时间表:
一键式点击
2-显示进度指示器(从原始隐藏状态开始)
3-激活进度指示器
4-激活关联的NSTask
5-继续显示指示器,直到完成NSTask
6-完成NSTask后,隐藏进度指示器。

我知道如何获取进度指示器以进行动画处理等。我只是不知道如何将它们与NSTask完成对象结合起来。

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

最佳答案

使用NSTaskterminationHandler属性设置一个块,以在任务终止时执行。在该块中,停止/隐藏进度指示器。

附录(见评论)

粗略概述:

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

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


请注意,如果处理程序需要从中访问信息,则将其传递给NSTask。另外,nil作为sender传递给stopAnimation:-您通常传递self,但这会导致保留周期,实际上哪个对象调用该方法并不重要。

关于objective-c - 显示,激活和停止不确定的进度指示器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17979962/

10-12 22:01