我在单击按钮时显示进度指示器时遇到一些问题,然后在NSTask完成时停止并隐藏该指示器。
这应该是时间表:
一键式点击
2-显示进度指示器(从原始隐藏状态开始)
3-激活进度指示器
4-激活关联的NSTask
5-继续显示指示器,直到完成NSTask
6-完成NSTask后,隐藏进度指示器。
我知道如何获取进度指示器以进行动画处理等。我只是不知道如何将它们与NSTask完成对象结合起来。
我在这里先向您的帮助表示感谢!
最佳答案
使用NSTask
的terminationHandler
属性设置一个块,以在任务终止时执行。在该块中,停止/隐藏进度指示器。
附录(见评论)
粗略概述:
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/